美文网首页
单例对象在归档再解档以后是否是同一个对象

单例对象在归档再解档以后是否是同一个对象

作者: 格雷s | 来源:发表于2019-04-18 19:26 被阅读0次

    1.在重写了allocWithZone方法后,归档前后是同一个对象,否则不是,解档回调用allocWithZone:方法

    + (instancetype)sharedSingleton {
        static BaseModel *_sharedSingleton = nil;
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            //不能再使用alloc方法
            //因为已经重写了allocWithZone方法,所以这里要调用父类的分配空间的方法
            _sharedSingleton = [[super allocWithZone:NULL] init];
        });
        return _sharedSingleton;
    }
    
    + (instancetype)allocWithZone:(struct _NSZone *)zone{
        return [BaseModel sharedSingleton];
    }
    

    相关文章

      网友评论

          本文标题:单例对象在归档再解档以后是否是同一个对象

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