Я все еще новичок в блоках в objective-c и задаюсь вопросом, правильно ли у меня этот код psuedo. Я не уверен, достаточно ли этого, чтобы просто удалить наблюдателя или мне нужно вызвать removeObserver: name: object:
-(void) scan {
Scanner *scanner = [[Scanner alloc] init];
id scanComplete = [[NSNotificationCenter defaultCenter] addObserverForName:@"ScanComplete"
object:scanner
queue:nil
usingBlock:^(NSNotification *notification){
/*
do something
*/
[[NSNotificationCenter defaultCenter] removeObserver:scanComplete];
[scanner release];
}];
[scanner startScan];
}
Обновление: я получаю прерывистый EXC_BAD_ACCESS
из этого блока, поэтому это не может быть прав.