0
私はオブザーバーを1つだけ検出する必要があります。私はそれを済ませたら、それを取り除いてオーバーヘッドを取り除きたいと思います。観察されたイベントの後のオブザーバーの削除
だから、それは次のようになります。
-(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”
これはうまくいくようです。 – Dex