关于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 

    相关文章:

    • 2022-12-23
    • 2021-12-28
    • 2022-12-23
    • 2022-01-12
    • 2021-05-26
    • 2022-12-23
    • 2022-12-23
    • 2022-01-31
    猜你喜欢
    • 2021-09-29
    • 2022-12-23
    • 2021-07-23
    • 2022-01-09
    • 2022-12-23
    相关资源
    相似解决方案