I have a NSMutableArray is my delegate that I am using in one of my view controllers as well.
So in viewDidLoad I make a mutable copy of my NSMutableArray like this
I assume you did not implemented the mutableCopyWithZone: correctly.
You need to implement the NSMutableCopying protocol for the objects you put in the array, this way you could pass a new instance of that object for that case.
- (id)mutableCopyWithZone:(NSZone *)zone
{
YourCustomModel *aCopy = [[[self class] allocWithZone:zone] init];
if (aCopy) {
// set properties
}
return aCopy
}