iphone - 在 NSKVODallocateBreak 设置断点

标签 iphone xcode mkmapview lldb

我正在使用 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/

相关文章:

通过 Web 访问 Core Location 框架的 iPhone 应用程序

iphone - iOS:NSUrl 语法

iPhone SDK : I have memory issues, 任何人都可以帮助新手修复它们吗?

ios - MKMapSnapshotter 渲染边框为白色

iphone - MKMapKit。中心图显示所有 MKAnnotation

ios - iPhone 消息应用程序的这个上滑菜单是如何实现的?

ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"

iphone - 从 iPhone 应用程序链接 appStore 上的开发者页面

ios - 向 SKScene 添加点(如 UIPageViewController 中的点)

macos - 在 MKMapView 中检测双击鼠标事件(不是 iOS 触摸事件)