У меня есть наблюдатель объекта, который мне нужен только для обнаружения одной вещи.Как только я закончу с этим, я бы хотел удалить его, чтобы исключить накладные расходы.
Таким образом, это выглядело бы примерно так:
-(void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*) change context:(void*)context{
if ([keyPath isEqual:@"doingSomething"]){
if ([object isDoingSomething] == NO) {
[my_object setDoingSomething: DO_NOTHING_FOREVER];
[my_object removeObserver:self forKeyPath:@"doingSomething"] // <= ERROR eventually
}
}
}
Хотя это не работает и выдаетошибка типа:
NSKVOPendingNotificationRelease “EXC_BAD_ACCESS”