@property的使用策略

@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类型上
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,309评论 30 472
  • 基础 1. 为什么说Objective-C是一门动态的语言? 2. 讲一下MVC和MVVM,MVP? 3. 为...
    波妞和酱豆子阅读 8,640评论 0 46
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 10,461评论 0 13
  • Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好...
    small_Sun阅读 4,021评论 0 0
  • 图片发自简书App 要对青春说声再见,要对懵懂说声再见,要对曾经的自己说声再见。 我有故事,也有酒。 ...
    梦如昔时阅读 1,228评论 0 0