NSMutableArray添加或删除

时间:2013-03-15 15:06:52

标签: ios objective-c nsmutablearray add

这里我在第二个vc中的一个vc传递中有一个可变数组,带有一些值。

我需要更改self.namesFoodSubCategory中的值问题是否也会更改第一个vc数组中的值。

现在,如果我将其更改为self.namesFoodSubCategory = [namesArray copy] ; 现在它复制得很好,但是我无法在self.namesFoodSubCategory中添加或删除它会导致崩溃。

可以有人帮帮我????

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andParamArray:(NSMutableArray *)namesArray
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        self.namesFoodSubCategory = namesArray ;

        NSLog(@"In Sec   %@",self.namesFoodSubCategory);

    }
    return self;
}

1 个答案:

答案 0 :(得分:8)

copy方法创建对象的不可变副本。为了保持可变性,您需要使用-mutableCopy代替或方便构造函数(假设您使用ARC,因此不需要自动释放等):

self.namesFoodSubCategory = [namesArray mutableCopy];

self.namesFoodSubCategory = [MSMutableArray arrayWithArray:namesArray];