個人理解,Object-C 的內(nèi)存管理實(shí)際上是對對象內(nèi)計(jì)數(shù)器的維護(hù)。
創(chuàng)新互聯(lián)專注于和平企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都做商城網(wǎng)站。和平網(wǎng)站建設(shè)公司,為和平等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)在對象創(chuàng)建(alloc,retain),計(jì)數(shù)器+1。release 計(jì)數(shù)器-1。
應(yīng)該注意的是:持有者對象在釋放本身時,應(yīng)該在dealloc 中去釋放持有的其他對象。
例如:
Person 和Dog
Person 擁有一個Dog,Person 在死亡前(dealloc)先把Dog殺了([_dog release];)-.-!
@interface Person{ Dog *_dog; } -(void)setDog:(Dog *)dog; -(Dog*)getDog; @end //------------ @implementiong Person -(void)setDog:(Dog *)dog{ if(_dog != dog){ _dog = dog; [_dog release];//在當(dāng)前person 擁有這個dog時先把他以前的dog release 掉 [_dog retain];//多個人可以擁有同一只狗狗。每多一個person 引用這一個dog,dog調(diào)用retain使計(jì)數(shù)器+1 } } -(Dog*)getDog{ return _dog; } -(void)dealloc{ [_dog release];//人死前調(diào)用dog 的release使計(jì)數(shù)器-1;狗并沒被殺死?。?! [super dealloc];//人掛了 } @end
-----end
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。