您的位置:首页 > 其它

非ARC环境下快速创建数组的注意点

2015-06-15 21:51 183 查看
现在大家一般都是用ARC的环境进行项目编写,但有时还不得不去使用非ARC环境。

今天在写程序时,发现了一个容易出错点。

出错前提或是避免出错点:

1. 非ARC环境

2. 数组为懒加载模式

3. 使用@[] 进行快速创建数组,不使用[[NSArray alloc] init...]

4. 在ViewDidAppear中操作数组对象就会提示(访问 了一个已经销毁的对象)僵尸对象。(开始)在此之后的所有操作都会导致僵尸对象的产生,具体产生原因没有分析出来,猜测可能与内存存储有关。

后续问题分析补充:(不只是数组,只要是使用了autorelease方式管理内存就会出现)

由于这个vc在loadView之后便add到了window层级上,所以viewDidLoad和viewWillAppear是在同一个runloop调用的,因此在viewWillAppear中,这个autorelease的变量依然有值。

更多信息了解可参见:http://www.devstore.cn/new/newInfo/888.html



快速创建一个数组或是字典是Xcode4.4的新特性,有了这种创建方式后就不必再写那么多的代码,看起来也极为不舒服。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: