Objective C的記憶體管理

2021-05-22 17:31:36 字數 778 閱讀 1236

記憶體管理,只要掌握這個原則即可:

在變數的生命週期裡,如果此物件是alloc,copy,retain之類的產生的,記得要release或者autorelease。保證引用計數加減後為0。

現在來比較詳細的說一下吧。

首先,對於變數的生命週期,這裡有幾種:

1、方法內部:即變數只存在於方法內部,但是如果此變數作為返回值的話,如果需要release的話,記得用autorelease。

2、**塊:這個的生命週期比方法內部的要短。

3、類級別:作為類級別的變數,這個的要在dealloc方法裡release。

nsdictionary *dict;

}@property (retain) nsdictionary *dict;

@end

@inte***ce banana :nsobject

-(void) test;

@end

@synthesize dict;

-(void) dealloc

}@end

@implementation banana

-(id) init

return self;

} return; }}

-(void) test

nsarray *array = [nsarray arraywithobject:[nsdictionary dictionary]];

for (nsdictionary *d in array)

}-(void) dealloc

@end

Objective C記憶體管理

objective c的物件記憶體管理是一件非常有意思的事情,由其是在iphone嵌入式裝置中 想玩的省心點,就得熟知它的管理規則,由其是記憶體的管理機制。了解它的品性了才能在cocoa的世界裡如魚得水。否則,反之 如水得魚!1,乙個物件可以有乙個或多個擁有者 2,當它乙個擁有者都沒有時,它就會被 ...

Objective C 記憶體管理

objective c 記憶體管理 nsautoreleasepool pool nsautoreleasepool alloc init pool drain 事實上程式中可以有多個自動釋放池。自動釋放池其實並不包含實際的物件本身,僅僅是對釋放的對 象的引用。通過向目前的自動釋放池傳送一條auto...

Objective C 記憶體管理

objective c中,記憶體物件分二類 1 值型別,如 int float struct等基本資料型別 2 引用型別,通常是指繼承自nsobject類的oc物件 值型別在棧中,由系統自動管理,而引用型別在堆上,需要我們自己手工進行管理 oc中提供了二種記憶體管理機制 1 手動引用計數 mrc m...