apple - Diferencia de iOS entre AppDelegate y la clase ViewController
iphone (2)
¿Cómo sé qué código va en la clase AppDelegate y qué código va en la clase ViewController? Ambas clases tienen un método similar de viewDidLoad
en UIViewController
y applicationDidFinishLaunching:
en UIApplicationDelegate
. Supongo que se llamaría primero a applicationDidFinishLaunching:
y ahí es donde crearías tu vista. Pero, ¿podría alguien explicar qué código general corresponde a cada una de esas clases?
AppDelegate se usa para toda la aplicación, puede usarlo para administrar el ciclo de vida de la aplicación; por otro lado, ViewController se usa para una sola vista. puede usarlo para administrar el ciclo de vida de una vista. Una aplicación puede tener múltiples vistas. pero solo un AppDelegate.
En pocas palabras, el delegado de la aplicación es especial / diferente en el sentido de que obtiene métodos de aplicación como didFinishLaunchingWithOptions
o applicationWillTerminate
. Desea usarlo para toda la configuración de la aplicación o para la preparación para terminar su aplicación, es decir, para guardar objetos que necesitan ser reutilizados, eliminar objetos innecesarios, etc., en lugar de simplemente poner todo allí en lugar del controlador correlativo. Parece que confundiste viewDidLoad
y didFinishLaunchingWithOptions
. viewDidLoad
llama a viewDidLoad
cuando el controlador de vista se carga por primera vez, se llama a didFinishLaunchingWithOptions
cuando se termina de didFinishLaunchingWithOptions
toda la aplicación.