临时仓库

@property中有哪些属性关键字?/ @property 后面可以有哪些修饰符?

nonatomic atomic strong weak assign copy retain readwrite readonly

修饰符用来指示编译器应该生成怎样的setter和getter。如果你自己写 getter/setter,那 atomic/nonatomic/retain/assign/copy 这些关键字只起提示作用。

1.原子性

    atomic 和 nonatomic 的区别在于,系统自动生成的 getter/setter 方法不一样

    1.1 atomic 默认,由编译器合成的方法会通过锁定机制确保其原子性(atomicity)。效率低,保证访问setter和getter方法的完整性,但不一定线程安全。

    1.2 nonatomic ,则不使用自旋锁。线程不安全,效率高。

2.读/写权限    readwrite(读写) 默认   readonly (只读)

你可能感兴趣的:(临时仓库)