属性(readwrite,readonly,assign,retain,copy,nonatomic)的各个作用

(1)readwrite 是可读可写特性;需要生成 getter 方法和 setter 方法时.

(2)readonly 是只读特性,  只会生成 getter 方法,不会生成 setter 方法,不希望属性在类外改变

(3)assign 是赋值特性, setter 方法将传入参数赋值给实例变量,传参仅在设置变量的时候

(4)return 表示持有特性, setter 方法将传入参数先保留,在复制,传入参数的 retaincount 会+1;

(5)copy 表示赋值特性, setter 方法将传入对象复制一份;复制一般在需要完全一份新的变量的时候

(6)nonatomic 是非原子操作,决定编译器生成的 setter getter 是否是原子操作, atomic 表示多线程安全,我们一般用 nonatomic

你可能感兴趣的:(属性(readwrite,readonly,assign,retain,copy,nonatomic)的各个作用)