4

在应用程序的某个时刻,我的对象中的一个属性被设置为一个奇怪的值。通常,我会通过设置类似于以下的符号断点来调试类似的东西:

在此处输入图像描述

这样,当有人试图将属性设置为我正在寻找的值时,我会受到打击,我可以查看跟踪以了解它的来源。

不幸的是,当您处理声明为@dynamic 的属性时,这不起作用。还有其他方法可以做类似的事情吗?

更多信息

有问题的对象是NSManagedObject

这个项目使用了 RestKit,很可能这就是价值的来源。

4

1 回答 1

3

您可以自己实现设置器并在其中放置断点。实现核心数据属性设置器与正常情况有些不同。像这样的东西应该工作:

- (void)setFoo:(NSObject *)foo {
    [self willChangeValueForKey:@"foo"];
    [self setPrimitiveValue:foo forKey:@"foo"];
    [self didChangeValueForKey:@"foo"];
}
于 2014-12-03T20:00:10.010 回答