0

在模拟器中运行 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)

UPD:异常是由以下代码引起的:

if([self.media.idtype isEqualToString:IMAGETYPE])

其中 idtype@property(retain, nonatomic) NSString *idtype;和 IMAGETYPE 是static NSString *VIDEOTYPE = @"2";

如何查看函数名称而不是地址?

4

2 回答 2

0

isEqualToString 可以比较两个 NSstrings 而不是您正在比较的其他类型的数据,即 NSDecimalNumber 将您的 NSDecimalNumber 转换为 nsstring 然后执行此操作

NSDecimalNumber* dec1;
NSString* str;

str = dec1.stringValue;
     NSString *str2=@"world";
                [str isEqualToString:str2];
于 2013-09-16T14:26:27.940 回答
0

在代码中的某些地方,您正在设置属性 idtype (self.media.idtype) 的值。这一定是问题的根源:

可能的问题可能是从 Web 服务中提取内容,并且在解析时您可能会将其分配给 self.media.idtype 对象。

于 2013-09-17T05:31:02.430 回答