NSMutableArray和副本
我有3 NSMutableArrays
:a,b,c。NSMutableArray和副本
a= [b copy];
a= [c copy];
第一次复制的元素(从b)会发生什么?
在我的使用-case中,a是一个数组,我用它作为DataSource的tableview,而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];
}
}
}
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];
如果a有1个元素,c有4个元素,[a setArray:c]之后,a只有1个元素。它是否正确?它似乎发生在我的情况。 –
不,这是不正确的。 –
粘贴有问题的代码。 –
它们被数组c的元素替换。 Plus复制只适用于你已经实现NSCopying委托。
这段代码是用ARC还是没有ARC编译的? – tia