数组内有Model进行copy

问题表述:
已经有一个数组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];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容