Ver el controlador dealloc no llamado cuando se usa el método de bloque de código NSNotificationCenter con ARC
Cuando yo uso-addObserverForName: object: queue: usingBlock:
paraNSNotificationCenter
en el-viewDidLoad:
método de mi controlador de vista, el-dealloc
El método termina no siendo llamado.
(Cuando me quito-addObserverForName: object: queue: usingBlock:
, -dealloc
se llama de nuevo.)
Utilizando-addObserver: selector: name: object:
No parece tener este problema. ¿Qué estoy haciendo mal? (Mi proyecto está usando ARC.)
A continuación se muestra un ejemplo de mi implementación, en caso de que esté haciendo algo mal aquí:
[[NSNotificationCenter defaultCenter] addObserverForName:@"Update result"
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
updateResult = YES;
}];
Gracias de antemano por cualquier ayuda.
He intentado agregar lo siguiente (en vano):
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if ([self isMovingFromParentViewController]) {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
}