////main.m//memory management for oc10_ arrays////Created by zhangxueming on 15/6/18.//Copyright (c) 2015 zhangxueming. All rights reserved.//#import<Foundation/Foundation.h>#import "Dog.h"intMainintargcConst Char*argv[]) {@autoreleasepool {Dog*dog1 =[[Dog alloc] init]; Dog*DOG2 =[[Dog alloc] init]; Dog*dog3 =[[Dog alloc] init]; Dog*DOG4 =[[Dog alloc] init]; Dog*dog5 =[[Dog alloc] init]; //adds an object to the array, corresponding to the Retaincount value of the object +1;NSLog (@"dog1 retaincount =%li", Dog1.retaincount); Nsmutablearray*dogs =[[Nsmutablearray alloc] init]; [Dogs Addobject:dog1];//Dogs[0]-->dog1[Dogs Addobject:dog1];//Dogs[1]-->dog1NSLog (@"dog1 retaincount =%li", Dog1.retaincount); [Dogs ADDOBJECT:DOG2];//dogs[2]-->dog2[Dogs Addobject:dog3]; [Dogs ADDOBJECT:DOG4]; [Dogs ADDOBJECT:DOG5]; [Dog1 release]; [DOG2 release]; [Dog3 release]; [Dog4 release]; [Dog5 release]; NSLog (@"dog1 retaincount =%li", Dog1.retaincount); //The array object release is actually the release of each element in a logarithmic array once[Dogs release]; //NSLog (@ "Dog1 Retaincount =%li", dog1.retaincount); } return 0;}
Memory management for oc10_ arrays