2012-03-05 6 views
6

En el AppDelegate de didFinishLaunchingWithOptions:Si agrego un observador para una notificación en el AppDelegate, ¿necesito molestarme en eliminarlo?

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(contextChanged:) 
             name:NSManagedObjectContextDidSaveNotification 
             object:nil]; 

Esto es para que pueda combinar los cambios a los datos de otros hilos.

Pregunta: ¿Necesito molestarme en eliminar este oyente en applicationWillResignActive o applicationWillTerminate? No parece que haya un punto. Supongo que estoy preguntando si es normal tener oyentes como este en el ciclo principal que nunca se eliminen.

Respuesta

7

Nunca puede eliminarlo, pero si su aplicación recibe una notificación (no sucederá en este caso) mientras está en segundo plano la notificación se pondrá en cola y se entregará a la aplicación cuando vuelva a aparecer (si la aplicación no se mata de c).

Si no desea que las notificaciones sucedan cuando su aplicación está en segundo plano para entregarse una vez que aparece, puede eliminar el oyente en los métodos que indicó.

En este caso, en realidad, no importa.

Cuestiones relacionadas