OC 屬性的內(nèi)存管理

來(lái)自星星的星球

屬性的內(nèi)存管理經(jīng)常是讓人很頭疼的一件事蟀伸,尤其是很多人在面試時(shí)經(jīng)常會(huì)被問(wèn)到蚀同,下面我們來(lái)講講屬性的內(nèi)存管理缅刽。

MRC:

在MRC下啊掏,屬性的修飾詞有三個(gè),分別是assign,retain衰猛, copy三者對(duì)應(yīng)不同的內(nèi)存管理方式迟蜜。

assign

assign:修飾基本數(shù)據(jù)類(lèi)型,例如int,float等啡省;他不會(huì)對(duì)基本數(shù)據(jù)類(lèi)型進(jìn)行內(nèi)存管理娜睛;
參考setter和getter方法:

-(void)setAge:(NSInteger)age
{
    _age = age;
}

-(NSInteger)age
{
    return _age;
}

retain

retain:修飾對(duì)象類(lèi)型,對(duì)屬性進(jìn)行內(nèi)存管理卦睹; 該屬性對(duì)象指向一個(gè)對(duì)象后畦戒,對(duì)應(yīng)對(duì)象的引用計(jì)數(shù)+1。
參考setter和getter方法:


-(void)setSex:(NSString *)sex
{
    if (_sex != sex) {
        //釋放舊對(duì)象
        [_sex release];
        
        //持有新對(duì)象
        _sex = [sex retain];
    }
}

-(NSString *)sex
{
    return [[_sex retain] autorelease]; //持有再自動(dòng)釋放
}


copy

copy:修飾對(duì)象類(lèi)型, 對(duì)屬性進(jìn)行內(nèi)存管理. 該屬性對(duì)象指向一個(gè)對(duì)象后结序, 對(duì)應(yīng)對(duì)象的引用計(jì)數(shù)不會(huì)改變障斋。屬性對(duì)象會(huì)復(fù)制對(duì)應(yīng)對(duì)象的內(nèi)容并生成一個(gè)新的對(duì)象,然后屬性對(duì)象指向這個(gè)新的對(duì)象徐鹤。
參考setter和getter方法

-(void)setHobby:(NSString *)hobby
{
    if (_hobby != hobby) {
        //釋放原有對(duì)象
        [_hobby release];
        
        //復(fù)制新對(duì)象
        _hobby = [hobby copy];
    }
}

-(NSString *)hobby
{
    return [[_hobby retain] autorelease];
}

注意:利用copy修飾的屬性被賦值后引用計(jì)數(shù)為1垃环, 屬性和對(duì)應(yīng)對(duì)象指向的不是同一塊內(nèi)存空間;

ARC:

在ARC下返敬,屬性的修飾詞有三個(gè)遂庄,分別是strong,weakcopy三者對(duì)應(yīng)不同的內(nèi)存管理方式劲赠。

  • strong:相當(dāng)于MRC下的retian, 一般叫做強(qiáng)引用涛目;
  • weak:修飾對(duì)象,但不對(duì)屬性進(jìn)行內(nèi)存管理凛澎, 屬性的引用計(jì)數(shù)不會(huì)改變泌绣,用于避免循環(huán)引用等問(wèn)題;注意不能修飾基本數(shù)據(jù)類(lèi)型预厌;
  • copy:同MRC下的copy一樣

*歡迎大家踴躍評(píng)論阿迈,讓我們一起探討技術(shù)!轧叽!
如果覺(jué)得文章不錯(cuò)苗沧,請(qǐng)幫忙點(diǎn)擊文章下方的喜歡!炭晒!
你的支持將是對(duì)我最好的鼓勵(lì), 謝謝4选!网严!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末识樱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌怜庸,老刑警劉巖当犯,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異割疾,居然都是意外死亡嚎卫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)宏榕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拓诸,“玉大人,你說(shuō)我怎么就攤上這事麻昼〉熘В” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵抚芦,是天一觀的道長(zhǎng)胚宦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)燕垃,這世上最難降的妖魔是什么枢劝? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮卜壕,結(jié)果婚禮上您旁,老公的妹妹穿的比我還像新娘。我一直安慰自己轴捎,他們只是感情好鹤盒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著侦副,像睡著了一般侦锯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秦驯,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天尺碰,我揣著相機(jī)與錄音,去河邊找鬼译隘。 笑死亲桥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的固耘。 我是一名探鬼主播题篷,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼厅目!你這毒婦竟也來(lái)了番枚?” 一聲冷哼從身側(cè)響起法严,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葫笼,沒(méi)想到半個(gè)月后深啤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渔欢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瘟忱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奥额。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖访诱,靈堂內(nèi)的尸體忽然破棺而出垫挨,到底是詐尸還是另有隱情,我是刑警寧澤触菜,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布九榔,位于F島的核電站,受9級(jí)特大地震影響涡相,放射性物質(zhì)發(fā)生泄漏哲泊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一催蝗、第九天 我趴在偏房一處隱蔽的房頂上張望切威。 院中可真熱鬧,春花似錦丙号、人聲如沸先朦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喳魏。三九已至,卻和暖如春怀薛,著一層夾襖步出監(jiān)牢的瞬間刺彩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工枝恋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迂苛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓鼓择,卻偏偏與公主長(zhǎng)得像三幻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呐能,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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