【发布时间】:2015-12-17 10:57:37
【问题描述】:
在一个项目中,我有一个类“A”,还有许多其他类正在观察“A”类的属性值。
有时“A”类实例被释放并且观察失败导致崩溃!
有没有办法从“A”类中删除所有观察者?像这样的:
-(void) dealloc{
[remove allObservers forKey:@"theKey"];
}
【问题讨论】:
-
观察者保持对他们所观察事物的强烈引用是否合适?
-
如果在可变数组中添加观察者并在 realloc 中撤销观察者并删除该数组的所有对象会怎样。
-
你能告诉你如何添加观察者
-
你能把“A”类对象作为另一个对象的属性并观察键路径吗?在 dealloc 中,您将属性设置为 nil。
标签: ios objective-c cocoa key-value-observing