Мені раніше доводилося розкручувати код у контролерах великого розміру, і це спочатку перешкоджало моїй здатності орієнтуватися по вмісту. Одне важливе, що я зрозумів, це те, що лише розмір контролера перегляду не був достатньою причиною, щоб розбити речі. Є складність у тому, щоб мати 1 великий файл, а також складність у купі невеликих файлів. Ось декілька поважних причин, щоб Refactor розбити контролер перегляду на більш дрібні частини:
MVC
Контролер перегляду не повинен робити більше, ніж бути клеєм, що з'єднує між Поглядом і Моделью. Якщо у вас багато коду підключення до мережі, код маніпулювання зображенням тощо, тоді подумайте про їх розбиття на допоміжні класи.
Кілька елементів керування за допомогою контролера перегляду як джерела даних
Якщо у вас є набір елементів керування на екрані, у яких ваш Контролер подання даних є джерелом даних, розгляньте можливість їх розбиття на окремі об’єкти джерела даних, і вони повинні бути джерелом даних. Або ви також можете розбити їх на окремі контролери перегляду (наприклад, якщо ви переглядаєте контролер перегляду таблиць на додаток до іншого контролера, ви можете розбити його на власний клас контролера табличного перегляду).
Дублікат коду
Якщо у вас є однаковий код у різних контролерах перегляду, розмістіть його в одному спільному місці. Це зробить ваш код багаторазовим і допоможе керувати складністю.
Ось кілька додаткових порад щодо мінімізації складності перегляду контролера:
Розмальовка замість програмної
Створення елементів перегляду - це багато коду, а геометрія кадру - це також велика робота. Якщо ви вже не розглядаєте можливість використання обмежень щодо автоматичного планування та розміщення якомога більшої кількості елементів перегляду в дошці розкадрування.
Непотрібний код / коментарі
Також обов’язково видаліть непотрібний код / коментарі. Багато разів новий файл Контролера перегляду буде надходити з методами, які ви не використовуєте. Якщо ви не використовуєте подібний метод, didReceiveMemoryWarning
то його безпечно вийняти. Крім того, оскільки файл контролера перегляду настільки великий, іноді страшно видаляти старий код або коментарі. Не відкладайте цього! Це лише додає складності.
Сповіщення
Щоб відповісти на ваше запитання щодо сповіщень: сповіщення - це не Золотий молоток, який можна використовувати з усім. Я вважаю сповіщення корисним, коли кілька контролерів перегляду потрібно оновлювати одночасно через 1 певну дію. Будьте уважні до сповіщень, однак, надмірне використання їх може заподіяти вам багато болю, намагаючись відстежити їх.