更改字符串数组中字符串的内容

时间:2011-07-09 19:04:58

标签: iphone objective-c

这是我的代码:

NSString *newString = @"new value"; 


[breakdownCollection objectAtIndex:i] = newString; 

breakdownCollection是多个字符串的NSArray。我需要通过索引号访问数组中包含的给定字符串,并将字符串的内容更改为新字符串的内容。请注意,我不能简单地用新的字符串替换字符串,我只是尝试替换它的内容。

但是,当我尝试这样做时,我得到一个“左值作为左操作数”的错误。

非常感谢任何有关此问题的帮助!

2 个答案:

答案 0 :(得分:2)

您得到的错误是因为您错误地编写了分配指令。也就是说,您无法newString分配给[breakdownCollection objectAtIndex:i]。 此外,你将无法这样做。相反,为了修改字符串对象内容,请使用NSMutableString,它提供了这样做的方法(NSString是不可变对象)。 所以,例如你应该尝试:

[[breakdownCollection objectAtIndex:i] setString:newString];

假设您将NSMutableString放入breakdownCollection

PS:为了更改索引i处的对象,您必须使用NSMutableArray而不是NSArray,然后调用:

[breakdownCollection replaceObjectAtIndex:i withObject:newString];
祝你好运!

NSMutableString class reference

NSMutableArray class reference

答案 1 :(得分:1)

使用NSMutableArray代替,然后您可以使用方法-replaceObjectAtIndex: withObject: