黑马程序员技术交流社区

标题: 关于OC中内存管理方面的问题 [打印本页]

作者: shenlongzs    时间: 2014-4-2 22:16
标题: 关于OC中内存管理方面的问题
本帖最后由 shenlongzs 于 2014-4-4 22:33 编辑

NSMutableArray * arr = [NSMutableArray arrayWithCapacity:0];

NSDictionary * dic = [[NSDictionary alloc]init];
[arr addObject:dic];

dic = [[NSDictionary alloc]init];
[arr addObject:dic];

dic = [[NSDictionary alloc]init];
[arr addObject:dic];
[dic release];
[dic release];
   [dic release];


哪位知道以上代码错在哪,请给与解惑?

作者: 周宇华    时间: 2014-4-2 22:36
最后的三个release有问题,应该在改变指针指向时先release。如:
  1. NSMutableArray * arr = [NSMutableArray arrayWithCapacity:0];

  2. NSDictionary * dic = [[NSDictionary alloc]init];
  3. [arr addObject:dic];
  4. [dic release];

  5. dic = [[NSDictionary alloc]init];
  6. [arr addObject:dic];
  7. [dic release];

  8. dic = [[NSDictionary alloc]init];
  9. [arr addObject:dic];
  10. [dic release];
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2