关于NSArray,NSMutableArray的使用与内存问题(仅个人在使用过程中体会)
偶已几种方式建立说明如下:
第一种:
|
复制代码
FirstArray = [[NSArray arrayWithObjects:
@"a",
@"b",
@"c",nil] retain];
NSLog(@"FirstArray%d",[FirstArray count]);
NSLog(@"FirstArray%d",[FirstArray retainCount]);
|
此方式返回的retainCount为2,程序难免会leak,不过一般也不会,小心为好。
第二种:
|
复制代码
FirstArray = [NSArray arrayWithObjects:
@"a",
@"b",
@"c",nil];
NSLog(@"FirstArray%d",[FirstArray count]);
NSLog(@"FirstArray%d",[FirstArray retainCount]);
|
此方式返回的retainCount为1,但后面用到时,程序会Crash。
第三种:
|
复制代码
NSArray *First = [[NSArray alloc] initWithObjects:
@"a",
@"b",
@"c",nil];
self.FirstArray=First;
[First release];
NSLog(@"FirstArray%d",[FirstArray count]);
NSLog(@"FirstArray%d",[FirstArray retainCount]);
|
此方式返回的retainCount为1,程序正常运行,不会leak...
建议使用第三种,NSMutableArray同NSArray操作。
ZT:http://www.cocoachina.com/bbs/read.php?tid=7096