我执行以下代码行时,我创建的应用程序崩溃了 其中c1是整数变量。
NSString *path = c1.stringValue;
在日志中显示以下错误:
- [NSCFString stringValue]:发送到实例的无法识别的选择器 0x5566e80 2011-05-11 14:56:15.813 电子趋势[1552:207]未捕获的例外情况 发生!! (NSInvalidArgumentException: - [NSCFString stringValue]:发送到实例的无法识别的选择器 0x5566e80)2011-05-11 14:56:15.816 电子趋势[1552:207] * 终止应用 由于未被捕获的例外 'NSInvalidArgumentException',原因: ' - [NSCFString stringValue]: 无法识别的选择器发送到实例 0x5566e80'
如果有人有任何想法解决这个问题,请相应地回答。
答案 0 :(得分:3)
其中c1是整数变量
这是什么意思?如何宣布c1?
如果c1
是int
,则c1.stringValue
甚至无法编译。
点语法仅在对象引用 - c1
- 具有特定对象引用类型(不是id
)且该引用 - 该类 - 响应该方法时才有效。
所以,你有类似的东西:
MyThingThatRespondsToStringValue *c1;
然后你在某个地方为该变量分配一个NSString
的实例,导致崩溃。
答案 1 :(得分:1)
请试试这个,
NSString *path = [NSString stringWithFormat:@"%@",c1];
答案 2 :(得分:0)
假设C1是NSString
的实例。
尝试
NSString *path = [NSString stringWithString:c1];
OR
NSString *path = [[NSString alloc] initWithString:c1];