Iphone 更改字符串数组中字符串的内容
这是我的代码:Iphone 更改字符串数组中字符串的内容,iphone,objective-c,Iphone,Objective C,这是我的代码: NSString *newString = @"new value"; [breakdownCollection objectAtIndex:i] = newString; breakdownCollection是多个字符串的NSArray。我需要通过索引号访问数组中包含的给定字符串,并将该字符串的内容更改为新字符串的内容。请注意,我不能简单地用新字符串替换字符串,我只是尝试替换它的内容 然而,当我尝试这样做时,我得到了一个“作为赋值的左操作数所需的左值”错误 在此问题
NSString *newString = @"new value";
[breakdownCollection objectAtIndex:i] = newString;
breakdownCollection是多个字符串的NSArray。我需要通过索引号访问数组中包含的给定字符串,并将该字符串的内容更改为新字符串的内容。请注意,我不能简单地用新字符串替换字符串,我只是尝试替换它的内容
然而,当我尝试这样做时,我得到了一个“作为赋值的左操作数所需的左值”错误
在此问题上的任何帮助都将不胜感激 改用
NSMutableArray
,然后可以使用方法-replaceObjectAtIndex:withObject:
得到的错误是因为您错误地编写了赋值指令。也就是说,您不能将新闻字符串分配给[breakdownCollection objectAtIndex:i]
。
而且,你不能这样做。相反,要修改字符串对象内容,请使用NSMutableString
,它提供了执行此操作的方法(NSString
是不可变对象)。
因此,例如,您应该尝试:
[[breakdownCollection objectAtIndex:i] setString:newString];
假设您将NSMutableString
放入breakdownCollection
PS:要更改索引i
处的对象,必须使用NSMutableArray
而不是NSArray
,然后调用:
[breakdownCollection replaceObjectAtIndex:i withObject:newString];
祝你好运
为什么你不能用新的替换字符串?谢谢你的帮助,文斯