Wcześniej musiałem rozplątywać kod w dużych kontrolerach widoku, co na początku bardzo utrudniało mi nawigację. Zrozumiałem, że sam rozmiar kontrolera widoku nie był wystarczającym powodem, by coś rozdzielić. Złożenie 1 dużego pliku jest skomplikowane, a złożoność małych plików. Oto kilka ważnych powodów, aby zrefaktoryzować rozbicie kontrolera widoku na mniejsze części:
MVC
Kontroler widoku nie powinien robić nic więcej niż być klejem łączącym widok z modelem. Jeśli masz dużo kodu połączenia sieciowego, kodu manipulacji obrazem itp., Zastanów się nad podzieleniem ich na klasy pomocnicze.
Wiele elementów sterujących za pomocą kontrolera widoku jako źródła danych
Jeśli masz kilka kontrolek na ekranie, które mają Twój kontroler widoku jako źródło danych, rozważ podzielenie ich na osobne obiekty źródła danych i niech będą źródłem danych. Możesz też podzielić je na osobne kontrolery widoku (tak jak jeśli widok kontrolera ma widok tabeli oprócz innego kontrolera, możesz podzielić go na własną klasę kontrolera widoku tabeli).
Duplikat kodu
Jeśli masz dokładnie ten sam kod w różnych kontrolerach widoku, umieść go w 1 wspólnej lokalizacji. To sprawi, że kod będzie wielokrotnego użytku i pomoże zarządzać złożonością.
Oto kilka dodatkowych porad, aby zminimalizować złożoność kontrolera widoku:
Storyboard zamiast Programmatic
Tworzenie elementów widoku to dużo kodu, a kod geometrii ramki również wymaga dużo pracy. Jeśli nie, rozważ użycie automatycznych ograniczeń układu i umieszczenie jak największej liczby elementów widoku w serii ujęć.
Niepotrzebny kod / komentarze
Pamiętaj też o usunięciu niepotrzebnego kodu / komentarzy. Wiele razy nowy plik kontrolera widoku zawiera metody, których nie używasz. Jeśli nie używasz takiej metody, możesz didReceiveMemoryWarning
ją bezpiecznie wyjąć. Ponadto, ponieważ plik kontrolera widoku jest tak duży, że czasami trudno jest usunąć stary kod lub komentarze. Nie odkładaj tego! To tylko zwiększa złożoność.
Powiadomienia
Aby odpowiedzieć na twoje pytanie dotyczące powiadomień: Powiadomienia nie są Złotym Młotem do użycia we wszystkim. Uważam, że powiadomienia są przydatne, gdy wiele kontrolerów widoku wymaga aktualizacji w tym samym czasie z powodu 1 określonej akcji. Uważaj jednak na powiadomienia, ich nadużywanie może sprawić wiele bólu podczas próby ich wyśledzenia.