• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
梦之奈落
博客园    首页    新随笔    联系   管理    订阅  订阅

NSArray,NSMutableArray的使用与内存问题

作者  angellixf

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-6209.html

关于NSArray,NSMutableArray的使用与内存问题(仅个人在使用过程中体会)

偶已几种方式建立说明如下:

第一种:
  1. FirstArray = [[NSArray arrayWithObjects:
  2.                   @"a",
  3.                   @"b",
  4.                   @"c",nil] retain];
  5. NSLog(@"FirstArray%d",[FirstArray count]);
  6. NSLog(@"FirstArray%d",[FirstArray retainCount]);


此方式返回的retainCount为2,程序难免会leak,不过一般也不会,小心为好。

第二种:
  1. FirstArray = [NSArray arrayWithObjects:
  2.                   @"a",
  3.                   @"b",
  4.                   @"c",nil];
  5. NSLog(@"FirstArray%d",[FirstArray count]);
  6. NSLog(@"FirstArray%d",[FirstArray retainCount]);

此方式返回的retainCount为1,但后面用到时,程序会Crash。


第三种:
  1. NSArray *First = [[NSArray alloc] initWithObjects:
  2.                        @"a",
  3.                        @"b",
  4.                        @"c",nil];
  5.     self.FirstArray=First;
  6.     [First release];
  7. NSLog(@"FirstArray%d",[FirstArray count]);
  8. NSLog(@"FirstArray%d",[FirstArray retainCount]);

此方式返回的retainCount为1,程序正常运行,不会leak...


建议使用第三种,NSMutableArray同NSArray操作。
posted @ 2011-03-11 17:57  梦之奈落  阅读(407)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3