4

我有 3 个NSMutableArrays:a,b,c。

a= [b copy];
a= [c copy];

第一次复制(从 b 中)的元素会发生什么?

在我的用例中,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];


        }


    }
}
4

2 回答 2

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];
于 2012-06-26T11:38:56.047 回答
2

它们被数组 c 的元素替换。Plus copy 仅在您实施了 NSCopying 委托时才有效。

于 2012-06-26T11:33:14.487 回答