tags:

views:

35

answers:

2

I have a custom object and NSMutableArray as instance member. I fill the array with some data after creation. I need a method to replace the content of the array. I tried:

-(void)replaceArr:(MyClass*) obj
{
 [mList removeAllObjects];
 NSMutableArray * tempArr=[obj mList];
 mList=[NSMutableArray initWithArray:tempArr];
}

But it is failed on

mList=[NSMutableArray initWithArray:tempArr];
A: 

I think you mean [[NSMutableArray alloc] initWithArray:tempArr];

vodkhang
A: 

Instead of +alloc-initing another NSMutableArray, you could also just replace the contents of this one by first removing all the objects it contains, and then adding the new ones to it:

- (void)replaceArr:(MyClass *)obj {
    [mList removeAllObjects];
    [mList addObjectsFromArray:[obj mList]];
}
Douwe Maan