我有3 NSMutableArrays
:a,b,c。
a= [b copy];
a= [c copy];
首次复制的元素(来自b)会发生什么?
在我的use -case中,a是我用作tableview的DataSource的数组,而b,c是在需要时取代数据源的数组。 感谢
具体例子。最后我开始使用setArray。
-(IBAction)selectTab:(id)sender {
if ([(UIButton*)sender tag] == 1000) {
if (![self.butonLocuri isSelected]) {
[tableDataSourceArray setArray:locuriArray];
[self addPins:self.tableDataSourceArray];
[self.myTableView reloadData];
}
}
if ([(UIButton*)sender tag] == 2000) {
if(![self.butonEvenimente isSelected]){
[tableDataSourceArray setArray:evenimenteArray];
[self addPins:self.tableDataSourceArray];
[self.myTableView reloadData];
}
}
}
答案 0 :(得分:5)
a= [b copy]; // a is pointing to [b copy] memory location.
a= [c copy]; // a is pointing to [c copy] memory location.
您应该使用setArray:
方法。
[a setArray:b];
[a setArray:c];
答案 1 :(得分:2)
它们被数组c的元素取代。只有在您实施了NSCopying委托后,才能使用附加副本。