內(nèi)存管理語義(strong帮碰、weak、assign等)

MRC

assign

MRC下assign是屬性默認的修飾符拾积,無論是簡單的數(shù)據(jù)類型殉挽,還是指向?qū)ο蟮闹羔槨?/p>

// 以下兩種寫法等價
@property (nonatomic) NSString *name;
@property (nonatomic, assign) NSString *name;
  • assign 主要用于修飾非指針類型變量(一般的基礎(chǔ)數(shù)據(jù)丰涉,C數(shù)據(jù)類型)。比如 NSInteger斯碌,CGFloat一死,int,float傻唾,double摘符,char,等等策吠。
  • assign 也可修飾對象(不建議)。當需要修飾對象類型時瘩绒,MRC時代使用unsafe_unretained猴抹。當然,unsafe_unretained也可能產(chǎn)生野指針锁荔,所以它名字是"unsafe_”蟀给。
  • assign 修飾的屬性不持有對象,當其指向的對象在別處釋放后阳堕,該指針變?yōu)?strong>懸掛指針也叫野指針跋理。

unsafe_unretained

語義等同于 assign,一般用于修飾對象恬总,也可用于修飾數(shù)據(jù)類型前普。當目標對象遭到銷毀時,屬性值不會自動清空壹堰。產(chǎn)生野指針拭卿。


retain

修飾的屬性會持有它所指向的對象,對象的引用計數(shù) +1贱纠,當不再需要使用該對象時需調(diào)用 release 釋放峻厚。

copy

只能用于修飾對象屬性,將對象賦值給 copy 屬性時谆焊,一般情況下屬性會持有該對象的一份拷貝惠桃。
copy 分為深拷貝淺拷貝。對于 Foundation 中含有可變版本的對象類型辖试,對其不可變版本的 copy 為淺拷貝辜王,對于可變對象的 copy 為深拷貝。

深拷貝與淺拷貝

圖示

從圖中我們可以了解到剃执,淺拷貝只是拷貝了指針誓禁,并未拷貝對象本身;而深拷貝則是指針和對象本身都進行了拷貝肾档。

  • 淺拷貝:
  • 深拷貝:

對于不可變對象而言摹恰,copy便是淺拷貝辫继,而mutableCopy是深拷貝。
對于可變對象而言俗慈,copy和mutableCopy都是深拷貝姑宽。但是copy出來的對象是不可變的,而mutableCopy則是可變對象闺阱。


ARC

assign/copy/retain

同 MRC 下的語義炮车。

strong

語義等同于 retain,體現(xiàn)了一種“擁有關(guān)系”酣溃。
設(shè)置新值時瘦穆,setter方法會先保留新值,并釋放舊值赊豌,然后再將新值設(shè)置上去扛或。
在ARC環(huán)境下,copy和strong類似碘饼。

weak

語義等同于unsafe_unretained熙兔,體現(xiàn)了一種“非擁有關(guān)系”。
weak 修飾符弱引用對象艾恼,不改變對象的引用計數(shù)住涉,當其指向的對象被銷毀時,它會自動的置為 nil钠绍。所以weak優(yōu)于unsafe_unretained舆声,不會發(fā)生野指針現(xiàn)象

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市五慈,隨后出現(xiàn)的幾起案子纳寂,更是在濱河造成了極大的恐慌,老刑警劉巖泻拦,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毙芜,死亡現(xiàn)場離奇詭異,居然都是意外死亡争拐,警方通過查閱死者的電腦和手機腋粥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來架曹,“玉大人隘冲,你說我怎么就攤上這事“笮郏” “怎么了展辞?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長万牺。 經(jīng)常有香客問我罗珍,道長洽腺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任覆旱,我火速辦了婚禮蘸朋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扣唱。我一直安慰自己藕坯,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布噪沙。 她就那樣靜靜地躺著炼彪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪正歼。 梳的紋絲不亂的頭發(fā)上霹购,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音朋腋,去河邊找鬼。 笑死膜楷,一個胖子當著我的面吹牛旭咽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赌厅,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼穷绵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了特愿?” 一聲冷哼從身側(cè)響起仲墨,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎揍障,沒想到半個月后目养,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡毒嫡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年癌蚁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兜畸。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡努释,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咬摇,到底是詐尸還是另有隱情伐蒂,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布肛鹏,位于F島的核電站逸邦,受9級特大地震影響恩沛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昭雌,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一复唤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烛卧,春花似錦佛纫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至局雄,卻和暖如春甥啄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炬搭。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工蜈漓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宫盔。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓融虽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灼芭。 傳聞我的和親對象是個殘疾皇子有额,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

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