cocoa採用了一種稱為引用計數的技術,有時也叫做保留計數。每個物件有乙個與之相關聯的整數,稱作它的引用計數器或保留計數器。當某段**需要訪問乙個物件時,該**將該物件的保留計數器值加1,表示「我要訪問該物件」。當這段**結束物件訪問時,將物件的保留計數器值減1,表示它不再訪問該物件。當保留計數器值為0時,表示不再有**訪問該物件了,因此物件將被銷毀,其占用的記憶體被系統**以便重用。
當使用alloc,new方法或者通過copy訊息(生成接收物件的乙個副本)建立乙個物件時,物件的保留計數器值被設定為1.要增加物件的保留計數器值,可以給物件傳送一條retain訊息。要減少物件的保留計數器值,可以給物件傳送一條release訊息。
當乙個物件因其保留計數器歸0而即將被銷毀時,objective-c自動向物件傳送一條dealloc訊息。你可以在自己的物件中重寫dealloc方法。可以通過這種方法釋放已經分配的全部相關資源。一定不要直接呼叫dealloc方法。可以利用objective-c在需要銷毀物件時呼叫dealloc方法。要獲得保留計數器的當前值,可以傳送retaincount訊息。
讀書筆記 iOS 引用計數
cocoa採用了一種稱為引用計數的技術,有時也叫做保留計數。每個物件有乙個與之相關聯的整數,稱作它的引用計數器或保留計數器。當某段 需要訪問乙個物件時,該 將該物件的保留計數器值加1,表示 我要訪問該物件 當這段 結束物件訪問時,將物件的保留計數器值減1,表示它不再訪問該物件。當保留計數器值為0時,...
IOS之引用計數
概念 建立物件時,將它的引用計數設定為1,每一次必須保持該物件時,就傳送一條retain訊息,使其引用計數加1.不再需要物件時,可以通過傳送release訊息,使物件的引用計數減1。當引用計數為0的時候,系統就會釋放它的記憶體,通過向物件傳送dealloc訊息。通過向物件傳送retaincount訊...
iOS自動引用計數
引用計數 顧名思義,就是物件當前被引用的計數retaincount。當retaincount為0時,表面當前物件沒有被任何其它物件引用 當retaincount不為0時,則物件任被系統中其它物件所引用,所以此時物件還仍被使用中,記憶體不能被系統所 只用當retaincount為0時,物件才能被系統所...