//定义一个bigArr数组,
NSMutableArray *bigArr = [[NSMutableArray
alloc]
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
内存管理一道数组存储例题存储精讲! (oc手动管理内存,引用计数器)
时间: 2024-10-03 18:15:26