美文网首页
2-6属性关键字

2-6属性关键字

作者: Rumbles | 来源:发表于2019-03-25 17:28 被阅读0次

    读写权限。原子性。引用计数

    readonly readwrite 默认的
    atomic nonatomic 
    retain/strong
    assign  weak copy
    

    assign。weak

    都不会增加引用计数
    
    修饰基本数据类型
    对象置为空 不会把指针置为nil
    
    weak
    修饰对象
    所指的对象释放后会自动置为nil ???
    

    copy

    浅拷贝 只是指针拷贝 增加引用计数
    深拷贝 是内容拷贝【占用新内存】不增加引用计数
    
    可变对象。copy mutableCopy 深拷贝
    不可变对象。copy 浅拷贝  mutableCopy 深拷贝
    
    copy方法都是不可变对象
    
    
    @property (nonatomic, copy) NSMutableArray *arr;
    
    会有什么潜在的问题? copy之后都是不可变对象。当我们调用add 或者 remove 的时候就回崩溃 
    

    MRC下如何重写修饰变量的setter方法

    - (void)setObj:(id)obj {
        if (_obj != obj) {
            [_obj release];
            _obj = [obj retain];
        }
    }
    

    分类的实现原理

    1.运行时决定
    2.同名方法 最后编译的最后生效
    3.覆盖父类方法。 父类的仍然存在  
    

    KVO实现原理

    我们使用KVO是系统会为监听的那个类动态添加自类。然后父类的isa指向子类
    子类 会重写setter方法
    

    相关文章

      网友评论

          本文标题:2-6属性关键字

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