Pregunta

Todavía nuevo a la gestión de memoria en aplicaciones para el iPhone, tengo una pregunta newbee. Vamos a decir que tengo algún método que utilice atributos de la AppDelegate. A principios de los métodos, consigo el delegado como:

// Get delegate
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

¿Es necesario llevar a cabo algún tipo de liberación al final del método (que estaba pensando en la adición de [la liberación delegado] al final de cada uno de los métodos como éste).

En términos generales, tenemos que liberar, al final del método, cada uno variables de objeto (NSString, NSData, ...) que se han creado dentro de este método?

Muchas gracias, Luc

¿Fue útil?

Solución

Regla simple:

Si cuando tienes una referencia a un objeto (AppDelegate en este caso) no llamó alloc en el objeto, entonces no es necesario el lanzamiento. Si lo hizo alloc llamada en esa línea de código que ya ha proporcionado a continuación, que se quiere llamar [delegate release];

Otros consejos

No. Esto es sólo una referencia a su delegado que es más probable es utilizada por otras partes del programa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top