非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的新特性,有了这种创建方式后就不必再写那么多的代码,看起来也极为不舒服。
今天在写程序时,发现了一个容易出错点。
出错前提或是避免出错点:
1. 非ARC环境
2. 数组为懒加载模式
3. 使用@[] 进行快速创建数组,不使用[[NSArray alloc] init...]
4. 在ViewDidAppear中操作数组对象就会提示(访问 了一个已经销毁的对象)僵尸对象。(开始)在此之后的所有操作都会导致僵尸对象的产生,具体产生原因没有分析出来,猜测可能与内存存储有关。
后续问题分析补充:(不只是数组,只要是使用了autorelease方式管理内存就会出现)
更多信息了解可参见:http://www.devstore.cn/new/newInfo/888.html
快速创建一个数组或是字典是Xcode4.4的新特性,有了这种创建方式后就不必再写那么多的代码,看起来也极为不舒服。
相关文章推荐
- C++中const与指针、引用的分析
- java之弱引用
- Maven-生命周期
- WEB服务器与应用服务器
- PHP 中加载类文件的几种方法
- SCRUM浅谈,User Story,Sprint,Burn Down Chart
- Maven-常用命令
- 实验二-2 Eclipse&Hadoop 做英文词频统计进行集群测试
- ~一些重要的东西~
- quick中使用JPG+mask文件制作刀塔传奇中的遮罩效果
- 忍——自作多情。
- SeqList.
- python读取mnist
- 基于Spark MLlib平台的协同过滤算法---电影推荐系统
- 求一个数据结构C语言 关于关键字统计源代码
- EIGRP汇总路由配置和默认路由下发
- 黑马程序员----IO流
- 黑马程序员-排序(冒泡,选择,快速排序)
- 算法学习之暴力求解
- hdu 1715 大菲波数