【发布时间】:2013-09-16 14:11:29
【问题描述】:
在模拟器中运行 iOS 应用时遇到异常
2013-09-16 18:03:44.346 DEV[26529:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSDecimalNumber isEqualToString:]: unrecognized selector sent to instance 0xf98fc70'
*** First throw call stack:
(0x17bf012 0x1c38e7e 0x184a4bd 0x17aebbc 0x17ae94e 0x1b813 0x1c4c705 0x653920 0x6538b8 0x714671 0x714bcf 0x713d38 0x917213 0x1787afe 0x1787a3d 0x17657c2 0x1764f44 0x1764e1b 0x29db7e3 0x29db668 0x65065c 0x25c9 0x2505 0x1)
更新: 异常是由以下代码引起的:
if([self.media.idtype isEqualToString:IMAGETYPE])
其中 idtype 是 @property(retain, nonatomic) NSString *idtype;,IMAGETYPE 是 static NSString *VIDEOTYPE = @"2";
如何查看函数名称而不是地址?
【问题讨论】:
-
或对所有异常使用异常断点。
-
我相信我正在使用调试版本
-
属性的声明不如这些属性的实例化重要。告诉我们你在哪里设置
idtype。 -
也许你是对的!带有局部变量的调试窗口显示静态 self.media.idtype 是十进制的!但是我如何追踪我设置它的位置? idtype 是一个属性,我无法设置断点,因为 setter 和 getter 是由编译器生成的