IOS Objective-C属性解析

1.atomic 和 nonatomic 关系

atomic: 是原子操作,表示不能再继续分,用于多线程操作,因为是原子操作,涉及比较多的上锁,解锁,所以性能比较差。
nonatomic: 非原子操作,系统默认就是这个属性。

2.readwrite 和readonly

readwrite: 是默认的属性,表示可以对对象进行读和写,会生成对象相应的setter和getter方法。
readonly: 表示只允许读取对象的值,只会生成对象的getter方法。

3.assign 是默认属性,只可以对基本数据类型(如CGFloat,NSInteger,Bool,int,代理对象)等使用。该方式会对对象直接赋值而不会进行retain操作

4.strong 和 weak
strong: 强引用,默认属性,例如一个Label属性,在一个UIView里面,就是强引用.
weak: 弱引用,指针主要用于“父-子”关系,父亲拥有一个儿子的strong指针,因此父亲是儿子的所有者;但为了阻止所有权循环(循环引用),儿子需要使用weak指针指向父亲。
典型例子是delegate模式,你的ViewController通过strong指针(self.view)拥有一个UITableView, UITableView的dataSource和delegate都是weak指针,指向你的ViewController

5.copy
一般NSMutableString 那种可变的都用copy,因为copy会深拷贝,如果原来的值变了的话,copy属性不会收到影响。这就是用copy的场景,马德终于搞清楚了。下面总结比较全面。
http://blog.csdn.net/runintolove/article/details/50767523

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

推荐阅读更多精彩内容

  • 接着上节 mutex,本节主要介绍atomic的内容,练习代码地址。本文参考http://www.cplusplu...
    jorion阅读 73,888评论 1 14
  • 测试de艺术 最近开始整理内容了,把值钱的东西梳理一下,别浪费。 敏捷测试的策略: 1、敏捷测试不是每次迭代都要测...
    Black13eard阅读 239评论 0 1
  • 餐馆满座了,男生看着暗恋的姑娘坐到自己对面,连忙红着脸低下头,心里祈祷她能吃慢一点。旁边的小服务员看在眼里,不动声...
    洞庭府君阅读 522评论 1 9
  • 时晓伟(石船先生) 21、守在师父家,就为一句话。 推窗望月难见月,开门见山不是山。 为啥? 一一《石船先生.破禅...
    石船先生的醬汤阅读 234评论 0 0
  • 导 语 不少人觉得,陈浚生出轨也是迟早的事情。有什么必要,大惊小怪的呢。我就纳闷了:陈浚生们,凭什么出轨得这么理直...
    飘雨桐V阅读 311评论 0 0