readwrite, readonly, assign, retain, copy, nonatomic, atomic是什么作用, 在那種情況下用

readwrite, readonly, assign, retain, copy, nonatomic, atomic是什么作用, 在那種情況下用

  1. readwrite

    • 可讀可寫特性, 需要生成setter和getter方法時(shí)使用, 可被外界讀取和修改
  2. readonly

    • 只讀特性, 只會(huì)生成getter方法, 只可被外界讀取, 不能修改
  3. assign

    • 賦值特性, 作用于非OC對(duì)象的賦值, setter方法將參數(shù)傳給變量
  4. retain

    • 持有特性, 他的setter方法會(huì)釋放舊址, 然后引用住新值, 并且將新值的引用計(jì)數(shù)+1, 只能作用于OC對(duì)象(基本數(shù)據(jù)類型和Core Foundation對(duì)象沒有引用計(jì)數(shù)的概念, 因此不能用retain)

        - (void)setName:(NSString *)newName { 
            if (name != newName) { 
               [name release]; 
               name = [newName retain]; 
               // name’s retain count has been bumped up by 1 
            } 
        }
      
  5. copy

    • 復(fù)制特性, 此屬性只對(duì)遵守了NSCopying協(xié)議的對(duì)象類型有效, 一般作用于NSString, NSArray, NSDictionary等有可變類型的對(duì)象
    • 如果copy的是不可變類型, 就不會(huì)開辟新的內(nèi)存空間, 并且為指針拷貝, 指向同一個(gè)內(nèi)存地址: 淺拷貝
    • 如果copy的是可變類型, 就會(huì)開辟新的內(nèi)存空間, 并且將內(nèi)容copy下來(lái)單獨(dú)保存: 深拷貝
    • 注意: 如果在系統(tǒng)中創(chuàng)建內(nèi)容相同的不可變字符串, 系統(tǒng)會(huì)自動(dòng)做出優(yōu)化, 指向同一塊內(nèi)存空間
  6. nonatomic

    • 非原子性, 即非線程安全的, 不給變量提供線程鎖保護(hù), 這樣會(huì)提高性能
    • 在iOS的移動(dòng)端, 一般不會(huì)出現(xiàn)多線程訪問同一個(gè)屬性的情況, 就算發(fā)生情況, atomic也不能完美的保證安全, 并且還需要手動(dòng)增加線程鎖, 因此對(duì)于變量都應(yīng)該使用nonatomic
  7. atomic

    • atomic會(huì)給屬性加上一個(gè)同步鎖, 這是為了防止多線程同時(shí)訪問屬性出現(xiàn)異常需要添加的屬性, 但是這樣會(huì)增加額外的內(nèi)存開銷 并且在變編程習(xí)慣中, 我們都應(yīng)該避免多線程訪問統(tǒng)一資源
    • 即便是使用atomic, 在多線程時(shí)也無(wú)法完全保證線程安全, 往往是需要手動(dòng)添加線程鎖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末枝冀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子温鸽,更是在濱河造成了極大的恐慌斋竞,老刑警劉巖吉挣,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡酣溃,警方通過(guò)查閱死者的電腦和手機(jī)逸月,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門栓撞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人碗硬,你說(shuō)我怎么就攤上這事瓤湘。” “怎么了恩尾?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵弛说,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我翰意,道長(zhǎng)木人,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任冀偶,我火速辦了婚禮醒第,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘进鸠。我一直安慰自己稠曼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布客年。 她就那樣靜靜地躺著霞幅,像睡著了一般漠吻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上司恳,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天侥猩,我揣著相機(jī)與錄音,去河邊找鬼抵赢。 笑死欺劳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铅鲤。 我是一名探鬼主播划提,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼邢享!你這毒婦竟也來(lái)了鹏往?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤骇塘,失蹤者是張志新(化名)和其女友劉穎伊履,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體款违,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唐瀑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了插爹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哄辣。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赠尾,靈堂內(nèi)的尸體忽然破棺而出力穗,到底是詐尸還是另有隱情,我是刑警寧澤气嫁,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布当窗,位于F島的核電站,受9級(jí)特大地震影響寸宵,放射性物質(zhì)發(fā)生泄漏崖面。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一邓馒、第九天 我趴在偏房一處隱蔽的房頂上張望嘶朱。 院中可真熱鬧,春花似錦光酣、人聲如沸疏遏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)财异。三九已至倘零,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戳寸,已是汗流浹背呈驶。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疫鹊,地道東北人袖瞻。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拆吆,于是被迫代替她去往敵國(guó)和親聋迎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容