@property中有哪些屬性關(guān)鍵字?/ @property 后面可以有哪些修飾符?
nonatomic atomic strong weak assign copy retain readwrite readonly
修飾符用來(lái)指示編譯器應(yīng)該生成怎樣的setter和getter摔敛。如果你自己寫 getter/setter棵帽,那 atomic/nonatomic/retain/assign/copy 這些關(guān)鍵字只起提示作用括袒。
1.原子性
? ? atomic 和 nonatomic 的區(qū)別在于官辈,系統(tǒng)自動(dòng)生成的 getter/setter 方法不一樣
? ? 1.1 atomic 默認(rèn),由編譯器合成的方法會(huì)通過鎖定機(jī)制確保其原子性(atomicity)贮折。效率低裤翩,保證訪問setter和getter方法的完整性,但不一定線程安全调榄。
? ? 1.2 nonatomic 踊赠,則不使用自旋鎖呵扛。線程不安全,效率高筐带。
2.讀/寫權(quán)限 ? ?readwrite(讀寫) 默認(rèn) ? readonly (只讀)