Ho dovuto sbrogliare il codice in View Controller di dimensioni enormi prima e questo ha impedito la mia capacità di navigare il contenuto all'inizio. Una cosa importante che ho capito è che la dimensione da sola del View Controller non era una ragione sufficiente per rompere le cose. C'è complessità nell'avere 1 file di grandi dimensioni e anche la complessità nell'avere un mucchio di piccoli file. Ecco alcuni validi motivi per il refactoring per rompere un View Controller in parti più piccole:
MVC
Il View Controller non dovrebbe fare molto di più che essere la colla di collegamento tra la vista e il modello. Se hai un sacco di codice di connessione di rete, codice di manipolazione delle immagini e così via, prendi in considerazione la possibilità di suddividerli in classi di supporto.
Controlli multipli con View Controller come origine dati
Se sullo schermo sono presenti numerosi controlli con View Controller come origine dati, prendere in considerazione la possibilità di suddividerli in oggetti di origine dati separati e farli diventare origine dati. Oppure puoi anche suddividerli in View Controller separati (ad esempio se View Controller ha una vista tabella oltre ad altri controller, puoi suddividerli nella propria classe Controller View tabella).
Codice duplicato
Se hai lo stesso identico codice in diversi View Controller lo metti in 1 posizione condivisa. Ciò renderà il tuo codice riutilizzabile e aiuterà a gestire la complessità.
Ecco alcuni consigli aggiuntivi per ridurre al minimo la complessità di View Controller:
Storyboard anziché Programmatic
Creare elementi di visualizzazione è un sacco di codice e il codice di geometria del fotogramma è anche molto lavoro. Se non lo ritieni già, puoi utilizzare i vincoli di layout automatico e inserire il maggior numero possibile di elementi View nello storyboard.
Codice / commenti non necessari
Assicurati anche di rimuovere codice / commenti non necessari. Un sacco di volte un nuovo file del controller di visualizzazione verrà fornito con metodi che non stai utilizzando. Se non stai usando un metodo come didReceiveMemoryWarning
, allora è sicuro portarlo fuori. Inoltre, poiché il file del controller di visualizzazione è così grande a volte è spaventoso rimuovere il vecchio codice oi commenti. Non metterlo fuori! Aumenta solo la complessità.
Notifiche
Per rispondere alla tua domanda sulle notifiche: Le notifiche non sono un martello d'oro da usare con tutto. Trovo che le notifiche siano utili quando più controllori di vista devono aggiornarsi contemporaneamente a causa di 1 azione particolare. Fai attenzione però con le notifiche, il loro uso eccessivo può causare un sacco di dolore nel tentativo di rintracciarli.