下面是关键代码
@property (copy,nonatomic) NSMutableArray* arr;
- (void)viewDidLoad {
[super viewDidLoad];
self.arr = [NSMutableArray new];
[self aaa:self.arr];
}
-(void)aaa:(NSMutableArray*)arr{
NSLog(@"%@",[arr class]);
[arr addObject:@"fds"];
}
上面代码运行的时候回报错,原因是property修饰的时候使用了copy,当使用copy的时候,每次传值的时候都是会调用copy方法,然而copy方法的拷贝会把可变的变为不可变的,在aaa方法中arr已经是不可变的了,所以会报错。