在应用程序中的某个时刻,我的对象中的属性被设置为一个奇怪的值。通常,我会通过设置类似于以下内容的符号断点来调试类似的内容:
这样,当有人尝试将属性设置为我要寻找的值时,我受到了打击,我可以查看跟踪以查看其来源。
不幸的是,当您处理声明为@dynamic的属性时,此方法不起作用。还有另一种方法可以做类似的事情吗?
更多信息
有问题的对象是 NSManagedObject
该项目使用RestKit,很有可能这就是价值的来源。
您可以自己实现设置器,并在其中放置一个断点。实现核心数据属性设置器与正常情况有些不同。这样的事情应该起作用:
- (void)setFoo:(NSObject *)foo {
[self willChangeValueForKey:@"foo"];
[self setPrimitiveValue:foo forKey:@"foo"];
[self didChangeValueForKey:@"foo"];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句