我正在使用 map 套件并创建了一个注释。由于此错误,我正在尝试查找我的错误:
An instance 0x1b7ac0 of class AddressAnnotation 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:
我不确定设置断点的 NSKVODallocateBreak 在哪里。我以为我可以使用 Instruments 来调试它,但是当我尝试时,它崩溃了,并且没有给我任何崩溃位置的指示。有什么想法吗?
最佳答案
您可能在代码中执行类似的操作:
[addressAnnotation addObserver:self
forKeyPath:kSelectedAnnotationObserverKeyPath
选项:NSKeyValueObservingOptionNew
上下文:@“selectedOrDeselected”];
这意味着您正在注册一个观察者来查明注释何时被选择。
当注释从 map 中删除时,您应该删除观察者,如下所示:
[addressAnnotation removeObserver:self forKeyPath:kSelectedAnnotationObserverKeyPath];
这应该消除错误。如果没有,并且您想调试它,那么您当然应该在 NSKVODeallocateBreak
上设置断点。为此,请打开运行
菜单,管理断点
,添加符号断点
,输入NSKVODallocateBreak
,然后你是。
希望对你有帮助!
关于iphone - 在 NSKVODallocateBreak 设置断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7466652/