iOS面试题:属性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什么作用,在那种情况下用?

①.readwrite 是可读可写特性;需要生成 getter 方法和 setter 方法时
②. readonly 是只读特性 只会生成 getter 方法 不会生成 setter 方
法 ;不希望属性在类外改变
③.assign 是赋值特性,setter 方法将传入参数赋值给实例变量;仅设
置变量时;
④.retain 表示持有特性,setter 方法将传入参数先保留,再赋值,
传入参数的 retaincount 会+1;
⑤.copy 表示赋值特性, setter 方法将传入对象复制一份;需要完全一
份新的变量时。
⑥.nonatomic 非原子操作,决定编译器生成的 settergetter 是否是原
子操作,atomic 表示多线程安全,一般使用 nonatomic


更多:iOS面试题合集

你可能感兴趣的:(iOS面试题:属性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什么作用,在那种情况下用?)