我有一个应用程序似乎在正常使用中运行没有问题。 Clang静态分析仪报告也没有问题。当我尝试在Instruments中运行它时,它会因无法识别的选择器异常而失败。
违规行是一种形式为:
的简单属性设置器self.bar = baz;
为了弄清楚发生了什么,我在它上方添加了一个NSLog()调用:
NSLog(@"class = %@ responds = %d", [self class], [self respondsToSelector:@selector(setBar:)]);
self.bar = baz;
在仿真器(没有仪器)和设备上,这显示了我所期望的:
class = Foo responds = 1
在乐器下运行时,我得到:
class = Foo responds = 0
我很难过可能导致这种情况的原因。也许在仪器环境中,不同的内存位置会被打破?任何人都可以建议我如何调试它?
答案 0 :(得分:0)
如果酒吧属于自己,你不能做bar=baz;
吗?
答案 1 :(得分:0)
检查您的属性。 也许你需要在巴兹施展?
答案 2 :(得分:0)
这里没有足够的信息来了解发生了什么,但是,如果您知道要提供哪些信息,您可能已经修复了它。所以。要检查的一些事项:
self
的值只是出于理智而setBar:
方法,是否仍会收到错误?