我有一段代码可能会触发两次相同的注册过程。这是相当做作的所以我宁愿没有办法手动检查注册是否已经发生。但是,如果不允许多次注册相同的KVO关系,有人可以建议一种方法来检测某个对象是否已经有效地向另一个观察者注册某个关键路径?
答案 0 :(得分:2)
安全。你的
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
将被多次调用。如果你不想要,你可以尝试删除观察者,然后再添加它。