removeObserver:forKeyPath:in dealloc

时间:2011-10-19 19:04:42

标签: objective-c cocoa key-value-observing dealloc

如果我的实例正在观察另一个对象的某些属性,我是否应该调用removeObserver:forKeyPath:in dealloc?

2 个答案:

答案 0 :(得分:10)

......除非在执行早期有更合适的时间。

观察者被视为非保留的参考文献。未注册可导致您的已释放实例被通知。

答案 1 :(得分:3)

你需要使用-removeObserver:forKeyPath:删除观察者 - [NSObject dealloc]运行,所以是的,在你的类的-dealloc方法中执行它会起作用。
参考这个问题。
Removing an Observer
question2