美文网首页
@property的使用策略

@property的使用策略

作者: YANGGQ | 来源:发表于2016-12-02 18:58 被阅读30次
    @property (atomic,strong) NSArray *array;
    @property (nonatomic,assign) int intValue;
    
    • 原子(atomic)
      • atomic 内部会为setter方法加锁,提供多线程安全。是防止在写未完成的时候被另外一个线程读取,造成数据错误,但是需要耗费性能。
    • 非原子(nonatomic)
      • nonatomic: 不会为setter方法加锁,非线程安全,在自己管理内存的环境中,解析的访问器保留并自动释放返回的值,如果指定了 nonatomic ,那么访问器只是简单地返回这个值,性能好。
    • 建议:开发中建议所有的属性都优先使用非原子属性,如果确实发生了多线程访问某一个属性的情况,再具体修改该属性为atomic,可以提高程序性能又保证安全

    • assign
      • 基本数据类型枚举结构体等非OC对象类型
    • weak
      • OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
    • strong
      • OC对象类型(比如NSArray、NSDate、NSNumber、模型类)
      • 一个对象只要有强指针引用着,就不会被销毁
    • copy
      • 一般用在NSStringblock类型上

    相关文章

      网友评论

          本文标题:@property的使用策略

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