iOS八股文——屬性修飾(assign, retain, weak, strong, copy)

ARC(Automatic Reference Counting)是蘋果在iOS 5開始引入的內(nèi)存管理機制疮胖,到今年(2021年)系統(tǒng)已經(jīng)發(fā)布到iOS 15 了,面試仍然會頻繁地提問關于MRC(Manual Reference Counting)

的問題闷板,即便新入行的同學們已經(jīng)開始廣泛地使用Swift澎灸,甚至于他們完全沒接觸過Objective-C

,這玩意兒就是過不去了蛔垢。


assign&weak

相同

它們都可以用于修飾需要被弱引用的對象击孩,并不會引起引用計數(shù)+1,以此避免循環(huán)引用鹏漆。

不同

  • assign 通常還用于修飾基礎數(shù)據(jù)類型(如NSInteger巩梢、BOOL等)和C數(shù)據(jù)類型(如intfloat艺玲,double等)括蝠。基礎數(shù)據(jù)類型和C數(shù)據(jù)類型會被分配到棧上饭聚,棧的內(nèi)存由系統(tǒng)處理忌警,不會造成野指針
  • 使用weak關鍵字修飾的對象秒梳,當該對象釋放后法绵,指針地址自動釋放;而使用assign關鍵字修飾的對象釋放后酪碘,該指針依舊存在朋譬,形成野指針

retain&strong&copy

相同

三者都用于修飾對象屬性兴垦,強引用徙赢,一般情況下,MRC下使用retain探越,ARC下使用strong狡赐。

不同

  • copy可以用于修飾block,因為block需要從棧區(qū)copy到堆區(qū)钦幔;在ARC下枕屉,系統(tǒng)會自動執(zhí)行該操作,因此block也可以使用strong修飾鲤氢。
  • strong淺拷貝搀庶,新的指針指向相同的內(nèi)存地址拐纱;copy深拷貝,會為對象開辟新的內(nèi)存地址哥倔,指針與內(nèi)存地址均與原對象不同。

注意揍庄,引用不可變對象咆蒿,即使是copy,也僅為淺拷貝蚂子。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沃测,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子食茎,更是在濱河造成了極大的恐慌蒂破,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件别渔,死亡現(xiàn)場離奇詭異附迷,居然都是意外死亡,警方通過查閱死者的電腦和手機哎媚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門喇伯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拨与,你說我怎么就攤上這事稻据。” “怎么了买喧?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵捻悯,是天一觀的道長。 經(jīng)常有香客問我淤毛,道長今缚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任钱床,我火速辦了婚禮荚斯,結果婚禮上,老公的妹妹穿的比我還像新娘查牌。我一直安慰自己事期,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布纸颜。 她就那樣靜靜地躺著兽泣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胁孙。 梳的紋絲不亂的頭發(fā)上唠倦,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天称鳞,我揣著相機與錄音,去河邊找鬼稠鼻。 笑死冈止,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的候齿。 我是一名探鬼主播熙暴,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼慌盯!你這毒婦竟也來了周霉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤亚皂,失蹤者是張志新(化名)和其女友劉穎俱箱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灭必,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡狞谱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了厂财。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芋簿。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖璃饱,靈堂內(nèi)的尸體忽然破棺而出与斤,到底是詐尸還是另有隱情,我是刑警寧澤荚恶,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布撩穿,位于F島的核電站,受9級特大地震影響谒撼,放射性物質(zhì)發(fā)生泄漏食寡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一廓潜、第九天 我趴在偏房一處隱蔽的房頂上張望抵皱。 院中可真熱鬧,春花似錦辩蛋、人聲如沸呻畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伤为。三九已至,卻和暖如春据途,著一層夾襖步出監(jiān)牢的瞬間绞愚,已是汗流浹背叙甸。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留位衩,地道東北人裆蒸。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蚂四,于是被迫代替她去往敵國和親光戈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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