问题表述:
已经有一个数组A,数组A内有n个Model;此时无论通过copy、mutableCopy、= 赋值出一个新数组B,修改B中Model的一个属性,数组A都会跟着修改,那如何将数组A与B彻底分开呢?
使用下面方法
self.arrayB = [[NSArray alloc]initWithArray:self.arrayB copyItems:YES];
如何还不行,记得重写Model内- (id)copyWithZone:(NSZone *)zone 方法
- (id)copyWithZone:(NSZone *)zone {
typeof(self) one = [[[self class] allocWithZone:zone] init];
one.属性 = self.属性;
return one;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [self init];
[self modelInitWithCoder:aDecoder];
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder {
[self modelEncodeWithCoder:aCoder];
}
网友评论