關(guān)于OC的屬性修飾詞

  • 讀寫屬性
    • setter:指定生成setter方法的名字。
    • getter:指定生成getter方法的名字糕再,例如@property (nonatomic, assign, getter=isHidden) Bool hidden量没。
    • readwrite:產(chǎn)生setter和getter方法。
    • readonly:只產(chǎn)生getter方法突想,并不能保證完全只讀殴蹄,可以通過kvc進(jìn)行修改賦值。
      當(dāng)在持有該屬性所在的類中猾担,加上如下函數(shù)時(shí)袭灯,
+ (BOOL)accessInstanceVariablesDirectly {
   return NO;
}

就無法對(duì)readonly修飾的屬性修改了,具體原因打開蘋果的官方文檔找到Key-Value Coding Programming Guide
可以看出绑嘹,如果該函數(shù)返回YES妓蛮,將直接調(diào)用valueForUndefinedKey方法。

捕獲.PNG

  • Setter語義
    • retain:setter方法對(duì)參數(shù)進(jìn)行release舊值圾叼,再retain新值蛤克。
    • strong:默認(rèn)修飾詞捺癞,強(qiáng)引用,默認(rèn)所有實(shí)例變量和局部變量都是strong指針构挤,如果一個(gè)對(duì)象被強(qiáng)引用所持有髓介,那么該對(duì)象就不會(huì)被釋放。
    • weak:弱引用筋现,即使一個(gè)對(duì)象被持有無數(shù)個(gè)弱引用唐础,只要沒有強(qiáng)引用指向它,那其還是會(huì)被清除矾飞,它不是對(duì)象的擁有者一膨,其值會(huì)在對(duì)象被釋放后自動(dòng)設(shè)置為nil。 weak指針主要用于“父-子”關(guān)系洒沦,父親擁有一個(gè)兒子的strong指針豹绪,因此父親是兒子的所有者,但為了阻止所有權(quán)循環(huán)申眼,兒子需要使用weak指針指向父親瞒津。
    • assign:setter方法直接賦值,而不進(jìn)行retain操作括尸,適用于基本數(shù)據(jù)類型巷蚪,對(duì)象類型,不會(huì)發(fā)生引用計(jì)數(shù)變化濒翻。
    • copy:setter方法進(jìn)行copy操作屁柏,與retain一樣
  • 讀寫屬性
    • atomic:默認(rèn)的屬性修飾詞,按官方文檔上的說明有送,可以在不同線程調(diào)用setter和getter淌喻,但是atomic并不是線程安全的,因?yàn)閍tomic只能保證通過setter和getter方法能獲取到一個(gè)完整的值娶眷,但是如果A線程調(diào)用setter似嗤,B啸臀、C線程調(diào)用getter届宠,可能B、C讀取的是A設(shè)置之后的值乘粒,也可能B先讀了豌注,A在設(shè)置,之后C又讀了灯萍。
    • nonatomic:通過nonatomic修飾的屬性轧铁,并沒有做鎖的操作,多線程同時(shí)進(jìn)行setter和getter操作旦棉,并不能保證得到一個(gè)完整的值齿风,所以相對(duì)atomic來說nonatomic修飾的屬性訪問速度更快药薯,而且平時(shí)對(duì)線程安全我們更傾向于使用信號(hào)量和鎖的方式去控制線程安全,他們都能保證代碼塊的原子性救斑,所以幾乎所有的屬性都用nonatomic去修飾童本。
  • 空值
    • nullable:表示對(duì)象可以是NULL或nil竖席。
    • nonnull: 表示對(duì)象不應(yīng)該為空秒拔。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蛋哭,隨后出現(xiàn)的幾起案子运沦,更是在濱河造成了極大的恐慌泵额,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件携添,死亡現(xiàn)場離奇詭異嫁盲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)薪寓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門亡资,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人向叉,你說我怎么就攤上這事锥腻。” “怎么了母谎?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵瘦黑,是天一觀的道長。 經(jīng)常有香客問我奇唤,道長幸斥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任咬扇,我火速辦了婚禮甲葬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘懈贺。我一直安慰自己经窖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布梭灿。 她就那樣靜靜地躺著画侣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堡妒。 梳的紋絲不亂的頭發(fā)上配乱,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼搬泥。 笑死桑寨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忿檩。 我是一名探鬼主播西疤,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼休溶!你這毒婦竟也來了代赁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤兽掰,失蹤者是張志新(化名)和其女友劉穎芭碍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孽尽,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窖壕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杉女。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞻讽。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熏挎,靈堂內(nèi)的尸體忽然破棺而出速勇,到底是詐尸還是另有隱情,我是刑警寧澤坎拐,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布烦磁,位于F島的核電站,受9級(jí)特大地震影響哼勇,放射性物質(zhì)發(fā)生泄漏都伪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一积担、第九天 我趴在偏房一處隱蔽的房頂上張望陨晶。 院中可真熱鬧,春花似錦帝璧、人聲如沸先誉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谆膳。三九已至叭爱,卻和暖如春撮躁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背买雾。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工把曼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杨帽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓嗤军,卻偏偏與公主長得像注盈,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叙赚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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