cópia em mutável ivar @synthesized não é uma cópia mutável

@property (nonatomic, copy) NSMutableArray * m array;
/ * * /
@synthesize m
array;

/ * * /

self.m_array = [NSMutableArray array]; // está errado, dará NSArray

Portanto, você precisa fazer um acessador personalizado:

@property (não atômico, reter / mutableCopy /) NSMutableArray * m_array;

/ * * /

@synthesize m_array; // sintetiza getter.

// configurador personalizado:

  • (void) setM array: (NSMutableArray *) array {[m array autorelease]; m_array = [array mutableCopy]; }