美文网首页
数组内有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