He tenido que desenredar código en controladores de vista de gran tamaño antes y realmente impidió mi capacidad de navegar por el contenido al principio. Una cosa importante que me di cuenta es que el tamaño solo del controlador de vista no era razón suficiente para separar las cosas. Hay complejidad en tener 1 archivo grande y también complejidad en tener un montón de archivos pequeños. Aquí hay algunas razones válidas para refactorizar para dividir un controlador de vista en partes más pequeñas:
MVC
El controlador de vista no debería hacer mucho más que ser el pegamento de conexión entre la vista y el modelo. Si tiene mucho código de conexión de red, código de manipulación de imágenes, etc., considere dividirlos en clases auxiliares.
Múltiples controles con el controlador de vista como fuente de datos
Si tiene un montón de controles en pantalla que tienen su controlador de vista como fuente de datos, considere dividirlos en objetos de fuente de datos separados y haga que sean la fuente de datos. O también puede dividirlos en Controladores de vista separados (como si el Controlador de vista tiene una vista de tabla además de otro controlador, puede dividirlo en su propia clase Controlador de vista de tabla).
Código duplicado
Si tiene exactamente el mismo código en diferentes controladores de vista, colóquelo en 1 ubicación compartida. Eso hará que su código sea reutilizable y ayudará a administrar la complejidad.
Aquí hay algunos consejos adicionales para minimizar la complejidad de View Controller:
Storyboard en lugar de programático
Crear elementos de vista es mucho código y el código de geometría de marco también es mucho trabajo. De lo contrario, considere usar restricciones de diseño automático y colocar la mayor cantidad posible de elementos de vista en el guión gráfico.
Código / comentarios innecesarios
También asegúrese de eliminar códigos / comentarios innecesarios. Muchas veces un nuevo archivo de View Controller vendrá con métodos que no está utilizando. Si no está utilizando un método como didReceiveMemoryWarning
este, es seguro sacarlo. Además, debido a que el archivo del controlador de vista es tan grande, a veces da miedo eliminar el código o los comentarios antiguos. ¡No dejes eso! Solo se suma a la complejidad.
Notificaciones
Para responder a su pregunta sobre notificaciones: las notificaciones no son un Golden Hammer para usar con todo. Considero que las notificaciones son útiles cuando varios controladores de vista necesitan actualizarse al mismo tiempo debido a una acción en particular. Sin embargo, tenga cuidado con las notificaciones, usarlas en exceso puede causarle mucho dolor al tratar de localizarlas.