/*集合記憶體管理 :陣列。字典*/
//1.物件加入集合物件中,retaincount + 1
//2.物件從集合物件中移除,retaincount - 1
//3.集合物件的retaincount改變,其中元素的retaincount不變
//4.集合被銷毀時,其中元素release一次
person *person = [[person alloc]init];
//person = 1
nslog(@"person = %lu",[person retaincount]);
nsarray *arrary = [[nsarray alloc]initwithobjects:person,nil];
//person =2 array = 1
nslog(@"person = %lu ,array = %lu",[person retaincount],[arrary retaincount]);
[arrary retain];
//person =2 array = 2
nslog(@"person = %lu ,array = %lu",[person retaincount],[arrary retaincount]);
[arrary release];
[arrary release];
//person =1 array = 1
nslog(@"person = %lu ,array = %lu",[person retaincount],[arrary retaincount]);
Oc 記憶體管理
1 對你自己擁有的物件負責,你只能釋放你擁有的物件 2 凡是你通過 retain alloc copy等手段獲得了所有者的物件,都必須在你不使用的時候來呼叫release autorelease等手段來釋放對他的所有權 3 在一定的 段內,對同乙個物件所作的copy alloc retain的操作次...
OC記憶體管理
1.記憶體管理原則 如果對乙個物件使用了alloc mutable copy retain,那麼你必須使用相應的release或者autorelease。2.管理範圍 任何繼承了nsobject 的物件,對其他基本資料型別 int char float double struct enum等 無效 ...
OC 記憶體管理
管理範圍 任何繼承nsobject的物件,對其他的基本資料型別無效。判斷物件要不要 的唯一依據就是計數器是否為0,若不為0則存在。所以對記憶體的管理就是對計數器的管理 1 retain 計數器 1,會返回物件本身 2 release 計數器 1 沒有返回值 3 retaincount 獲取當前的計數...