Ich musste vorher Code in großen View Controllern entwirren, was meine Fähigkeit, durch Inhalte zu navigieren, stark beeinträchtigte. Eine wichtige Erkenntnis war, dass die Größe des View Controllers nicht ausreichte, um die Dinge auseinanderzubrechen. Es ist kompliziert, eine große Datei zu haben, und es ist auch kompliziert, ein paar kleine Dateien zu haben. Hier sind einige gute Gründe für eine Umgestaltung, um einen View Controller in kleinere Teile zu zerlegen:
MVC
Der View Controller sollte nicht viel mehr tun, als das Bindeglied zwischen dem View und dem Model zu sein. Wenn Sie viel Netzwerkverbindungscode, Bildbearbeitungscode usw. haben, sollten Sie diese in Hilfsklassen aufteilen.
Mehrere Steuerelemente mit dem View Controller als Datenquelle
Wenn Sie eine Reihe von Steuerelementen auf dem Bildschirm haben, die Ihren View Controller als Datenquelle haben, sollten Sie diese in separate Datenquellenobjekte aufteilen und als Datenquelle verwenden. Sie können sie auch in separate View-Controller aufteilen (wenn View-Controller neben anderen Controllern über eine Tabellenansicht verfügt, können Sie diese auch in eine eigene Table-View-Controller-Klasse aufteilen).
Doppelter Code
Wenn Sie in verschiedenen View Controllern genau denselben Code haben, geben Sie diesen an einem gemeinsamen Speicherort an. Das macht Ihren Code wiederverwendbar und hilft bei der Verwaltung der Komplexität.
Hier einige zusätzliche Hinweise, um die Komplexität von View Controller zu minimieren:
Storyboard statt programmatisch
Das Erstellen von Ansichtselementen ist viel Code und der Code für die Rahmengeometrie ist ebenfalls viel Arbeit. Wenn nicht bereits erwogen, automatische Layout-Einschränkungen zu verwenden und so viele Ansichtselemente wie möglich in das Storyboard einzufügen.
Unnötiger Code / Kommentare
Achten Sie auch darauf, unnötigen Code / Kommentare zu entfernen. Häufig enthält eine neue View Controller-Datei Methoden, die Sie nicht verwenden. Wenn Sie eine Methode wie didReceiveMemoryWarning
diese nicht verwenden, können Sie sie sicher entfernen. Da die View Controller-Datei manchmal so groß ist, ist es beängstigend, alten Code oder alte Kommentare zu entfernen. Verschiebe das nicht! Dies erhöht nur die Komplexität.
Benachrichtigungen
So beantworten Sie Ihre Frage zu Benachrichtigungen: Benachrichtigungen sind nicht für alle Zwecke geeignet. Ich finde Benachrichtigungen nützlich, wenn aufgrund einer bestimmten Aktion mehrere View Controller gleichzeitig aktualisiert werden müssen. Seien Sie jedoch vorsichtig mit Benachrichtigungen, da eine Überbeanspruchung Ihnen große Schmerzen bereiten kann, wenn Sie versuchen, sie aufzuspüren.