addObject在所有数组中创建相同的值

时间:2010-08-23 10:57:39

标签: iphone objective-c

我想动态地在数组中添加元素。为此,我正在使用

[myArray addObject:myword];

myword is a NSMutableString type object.

在每个按钮上单击myword获取更改。但是数组的所有元素都存储了最后一个值。 假设第一次数组有1个元素=“我” 第二次数组应该有2个元素=“我”,“你”。但它显示“我”,“我”。可能是什么问题?

1 个答案:

答案 0 :(得分:3)

由于您可能反复存储相同的NSMutableString实例,因此更改它会改变“所有”元素。毕竟,他们都指向同一个对象。

尝试:

[myArray addObject:[[myword copy] autorelease]];

或者如果您需要NSMutableStrings:

[myArray addObject:[[myword mutableCopy] autorelease]];

这里需要autorelease,否则你会有内存泄漏。