1. 与多线程相关的参数. atomic: nonatomic: 这两个参数,无论在MRC还是ARC下都可以使用. 使用nonatomic 2. retain: 只能使用在MRC模式下. 在MRC模式下: 当属性的类型是OC对象的时候,绝大多数场景之下使用retain. assign: 可以使用在ARC和MRC模式之下. 在ARC下: 当属性的类型是非OC对象的时候,一律使用assign. 在MRC模式下: 当属性的类型是非OC对象的时候,一律使用assign. 在MRC模式下.出现循环引用的时候. 1边使用assign 1边使用retain. 3. strong: 只能使用在ARC模式下.当属性的类型是OC对象的时候,绝大多数场景之下使用strong. weak:只能使用在ARC模式下 当出现循环引用的时候.1边使用strong 1边使用weak. 4. getter setter 修改方法名字. 无论是ARC还是MRC都可以通过他们修改方法的名字. 5. readonly readwrite. 无论MRC还是ARC都可以使用 终极写法 MRC: @property (nonatomic,assgin(非OC对象)/retain(OC对象)) 类型 属性名称 大部分情况 只要是OC对象 用retain 当出现 循环retain时候 一端用retain 另外一端用assign ARC: @property (nonatomic,assign(非OC对象)/weak/strong) 类型 属性名称 大部分情况只要是OC对象就是strong 当出现循环引用的时候 一端用weak 一端用strong }
|