我正在向 NSMutableArray
添加对象“m”,如下所示:
[m setObject:a forKey:@"a"];
[m setObject:b forKey:@"b"];
[m setObject:c forKey:@"c"];
[m setObject:d forKey:@"d"];
[myArray addObject:m];
[m release];
对于一个对象它工作正常,但是当添加另一个对象时,myArray 中的所有对象都会重复相同的值。
如何避免这种情况?
请帮忙。
谢谢。
最佳答案
您需要在每次填充和插入时创建一个单独的 NSMUtablearray
实例,否则您会重复使用同一个实例,因此只有它的最后状态出现在每个位置数组。
NSMutableArray *myArray = [NSMutableArray array];
for (int i = 0 ; i != 10 ; i++) {
NSMutableDictionary *m = [NSMutableDictionary dictionary];
// Presumably, this part is done differently on each iteration
[m setObject:a forKey:@"a"];
[m setObject:b forKey:@"b"];
[m setObject:c forKey:@"c"];
[m setObject:d forKey:@"d"];
[myArray addObject:m];
}
关于iphone - NSMutableArray addObject 覆盖数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628478/