是否可以使用动态属性设置器的符号断点(或类似)?

时间:2014-12-03 15:55:05

标签: objective-c debugging breakpoints conditional-breakpoint

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

enter image description here

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

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

更多信息

有问题的对象是NSManagedObject

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

1 个答案:

答案 0 :(得分:3)

您可以自己实现setter并在其中放置断点。实现核心数据属性设置器与正常情况略有不同。这样的事情应该有效:

- (void)setFoo:(NSObject *)foo {
    [self willChangeValueForKey:@"foo"];
    [self setPrimitiveValue:foo forKey:@"foo"];
    [self didChangeValueForKey:@"foo"];
}