[NSCFString stringValue]:发送到实例的无法识别的选择器

时间:2011-05-11 06:02:09

标签: iphone objective-c

我执行以下代码行时,我创建的应用程序崩溃了 其中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'

如果有人有任何想法解决这个问题,请相应地回答。

3 个答案:

答案 0 :(得分:3)

  

其中c1是整数变量

这是什么意思?如何宣布c1?

如果c1int,则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];