首页 > 代码库 > 内存管理一道数组存储例题存储精讲! (oc手动管理内存,引用计数器)
内存管理一道数组存储例题存储精讲! (oc手动管理内存,引用计数器)
//定义一个bigArr数组,
NSMutableArray *bigArr = [[NSMutableArrayalloc] init]; //引用计数0 - 1
//此时只是定义了一个smallArr 并没有开辟空间,所以引用计数不加一
NSMutableArray *smallArr = nil;
for (int i =0 ; i < 13 ; i++ ) {
if (i % 3 == 0 ) {
// 0 3 6 9 12
//此时为smallArr数组开辟了空间,
smallArr = [[NSMutableArray alloc]init]; //引用计数 0 - 1
//此时addobject 内部实现了retain和release 操作,知道就行,不用程序工程师手动计数
[bigArr addObject:smallArr];
[smallArr release]; //引用计数 1 - 0
// [smallArr autorelease];
}
[smallArr addObject:[arr objectAtIndex:i]];
// [smallArr autorelease];
}
NSLog(@"%@",bigArr);
//打印过后,任务完成,回收空间
[bigArr release]; //引用计数 1 - 0
[arr release];//引用计数 1 - 0