Pregunta Reutilización de código en aplicaciones iOS


Soy muy nuevo en el desarrollo de ios, más bien acabo de comenzar a trabajar en mi primera aplicación. Ahora mi aplicación tiene un botón de inicio en casi todas las páginas y detrás de ese botón se llama al mismo fragmento de código para pasar a la pantalla de inicio. Este es un montón de código duplicado en cada controlador que tiene un botón de inicio. Y es solo un ejemplo. Hay muchos otros escenarios como este y el programador aún está aprendiendo a codificar, creo que es una mala práctica, ya que cualquier cambio deberá realizarse por separado en cada controlador.

Entonces mi pregunta, ¿cuáles son las mejores prácticas en escenarios como este cuando se codifica para iOS?


5
2017-10-19 12:27


origen


Respuestas:


Una cosa fácil de hacer en esta situación es hacer un UIViewController subclase (MyAppMasterVC, por ejemplo) y define tu botón como tal:

- (IBAction)myCommonButtonAction { // code and such }

En todos sus controladores de vista, herede de este en lugar de UIViewController (a la @interface MyNewViewController : MyAppMasterVC)


4
2017-10-19 12:41



Lo primero que debe hacer es aprender más sobre la programación de OO y la jerarquía de clases, y comprender cómo puede crear una clase base común para todos sus controladores similares.


2
2017-10-19 12:31



Desarrollo de software para iOS En este sentido no es diferente de cualquier otro desarrollo de software. Simplemente combine su lógica en alguna clase o función común, y úsela como lo considere apropiado. A menudo resulta que no sabes qué parte podría ser común y reutilizable hasta que escribes varias piezas de código, y solo entonces te das cuenta de que todo podría ser una función. El proceso de organizar el código existente, limpiarlo, hacerlo más legible y reutilizable se llama código de refactorización. Hay muchos libros sobre refactorización que explican diferentes patrones de diseño, técnicas y procesos para mejorar tu código. Te recomiendo leer algunos de ellos para obtener una mejor imagen.


2
2017-10-19 12:43



Este problema es lenguaje / plataforma agnóstica. El término que muchos usan es 'DRY', un acrónimo de 'No repetir'.

Aquí hay una búsqueda SO. Esto debería ayudarlo con los problemas y usos típicos, para que pueda determinar mejor si puede, cuándo debería y cómo abordar este tipo de problema.


1
2017-10-19 12:37