在向核心数据模型中添加2个附加字段后,我遇到了以下错误。
CarPark_CarPark_ was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object.
Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger.
Here's the current observation info:
<NSKeyValueObservationInfo 0x1b6510> (
<NSKeyValueObservance 0x19b210: Observer: 0x1a8cf0, Key path: coordinate,
Options: <New: NO, Old: NO, Prior: YES> Context: 0x0, Property: 0x1b7e00>
)
我对下一步做什么有点迷茫。任何有关这方面的指导将非常感谢!请让我知道还需要哪些其他信息。
答案 0 :(得分:28)
设置断点打开Xcode 4(Xcode 3中的Breakpoints窗口)中的断点选项卡,并为符号“NSKVODeallocateBreak”添加新的符号断点
使用调试器控制台在观察信息
中给出的地址处打印观察者观察员:0x19af20
po 0x19af20
这应该提供有关观察者的一些有价值的信息。 在您的自定义CarPark类中覆盖addObserver:forKeyPath:options:context:并设置断点以查看正在建立的观察的确切位置。
答案 1 :(得分:9)
这可能是由于观察者在观察物体之前被解除分配。您需要实现 - (void)dealloc 方法来删除观察者中的所有观察对象。