OC语言是一个比较好玩语言,就比如为什么天杀的为什么要出现@property这个语法来刁难我们这些小白呢?不过,细细咀嚼一下,我们还是可以消化的。
属性 | 使用说明 | 是否为默认值 |
---|---|---|
readonly | 只读,只生成读的存根 | 否 |
readwrite | 可读写,生成读写的存根 | 是 |
atomic | 线程保护,耗费资源,多线程情况下才使用 | 是 |
nonatomic | 非线程保护 | 否 |
unsafe_unretained | 与weak作用相同,不添加引用计数,当引用对象被销毁会指向空指针而不是nil,所以为unsafe | 否 |
weak | 弱引用,不添加引用计数,在避免循环引用的时候使用 | 否 |
copy | 以对象的复制形式传参 | 否 |
strong | 默认强应用,添加引用计数 | 是 |
为了方便大家更加直观地对比内存管理,下面示例代码,大家可以参考一下:
读写特性
类定义
@interface JMItem : NSObject
//定义了只读
@property (nonatomic,read