【发布时间】:2013-08-27 03:09:25
【问题描述】:
我在更改 NSString 的值时遇到问题。
在我的课堂上是这样声明的:
@property (strong, nonatomic)NSMutableString *votes;
对象创建的时候是这样设置的:
song.votes = [dict objectForKey:@"Votes"];
最后是问题发生的地方。稍后在我的代码中,我尝试像这样修改值:
song.votes =[responseArr valueForKey:@"CNT"];
这条线导致了这次崩溃:
'NSInvalidArgumentException',原因:'-[__NSCFString setVotes]: 无法识别的选择器发送到实例 0x14f84430'
我认为我的问题是由以下原因之一引起的:
1.上面的属性设置错误。我也尝试将其设置为(copy, nonatomic),但它的作用相同。
2. 我需要为此使用 NSMutableString。我尝试将其更改为 NSMutableString,但它在更改时仍然崩溃(诚然,我正在以使用 NSMutableString 时的方式进行初始化和更改,我不完全确定在其 Mutable 时如何更改。
【问题讨论】:
-
崩溃时给出的信息是什么?
-
@Tommy - 抱歉,更新了原帖和消息
-
错误信息指出
song本身就是一个字符串。有什么办法可以发生吗? -
是的,你是对的......根据正在以某种方式发生的调试器,目前正在调查。你怎么能从那条消息中看出?
-
你可以从那条消息中看出,因为它准确地告诉你——你打了一个看起来像
[__NSCFString setVotes]的电话。 "__NSCFString" 是 NSString 的内部类名。
标签: objective-c cocoa-touch nsstring