【问题标题】:Change the content of a string within an array of strings更改字符串数组中字符串的内容
【发布时间】:2011-07-09 19:04:57
【问题描述】:

这是我的代码:

NSString *newString = @"new value"; 


[breakdownCollection objectAtIndex:i] = newString; 

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

但是,当我尝试执行此操作时,我收到“需要左值作为赋值的左操作数”错误。

非常感谢您对此问题的任何帮助!

【问题讨论】:

  • 为什么不能用新的字符串替换?

标签: iphone objective-c


【解决方案1】:

你得到的错误是因为你写错了赋值指令。也就是说,您不能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

【讨论】:

  • 感谢文斯的帮助
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多