Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更改字符串数组中字符串的内容_Iphone_Objective C - Fatal编程技术网

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];
祝你好运


为什么你不能用新的替换字符串?谢谢你的帮助,文斯