美文网首页
数组内有Model进行copy

数组内有Model进行copy

作者: 封丑儿 | 来源:发表于2023-11-02 14:49 被阅读0次

问题表述:
已经有一个数组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];
}

相关文章

网友评论

      本文标题:数组内有Model进行copy

      本文链接:https://www.haomeiwen.com/subject/klrnidtx.html