tutorial life example containerviewcontroller container iphone objective-c

iphone - example - lifecycle viewcontroller ios



iPhone:[súper viewDidUnload] orden de llamada (5)

Me gustaría saber si hay alguna diferencia entre llamar a [super viewDidUnload] antes de liberar las propiedades o después.

¡Gracias!

self.webView = nil; self.fullText = nil; [super viewDidUnload];

o

[super viewDidUnload]; self.webView = nil; self.fullText = nil;


Esta pregunta no está completamente respondida. (Y es el primer éxito cuando busco en este tema en Google, por lo que una respuesta completa sería útil para mí y para otros).

Si la superclase HACE algo en viewDidUnload, ¿cuál es el orden correcto para llamarlo en viewDidUnload de su clase: antes o después de liberar propiedades?

Para el registro, parece que el consenso es llamar al súper método ÚLTIMO:

-(void)viewDidUnload {
self.some_property = nil;
[super viewDidUnload];
}


Esto depende de lo que haga la superclase en viewDidUnload . Si es solo un UIViewController estándar, cualquiera de los dos lo hará porque -[UIViewController viewDidUnload] no hace nada.


Esto es igual que el método dealloc.

- (void)dealloc { [array release]; [super dealloc]; }

Así que creo que deberíamos llamar [super viewDidUnload] final.


Esto solo importa si la superclase de su vista realmente hace algo en viewDidLoad . El UIViewController predeterminado no hace nada en viewDidLoad por lo que si su vista es un UIViewController estándar, puede colocar [super viewDidLoad] en cualquier parte del método viewDidLoad . Sin embargo, si super hace algo en viewDidLoad , entonces importa dónde coloque [super viewDidLoad] .


Nunca pensé que importaba, pero acabamos de encontrar un error por el cual la aplicación se bloqueó al llamarlo primero. La tendencia en mi oficina ha sido llamarlo último, pero la plantilla de Apple lo pone primero.

Puedes hacer lo que quieras, pero siempre lo llamaré último a partir de ahora.