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