Xcode4.2中的release,retainCount, retain“不能”使用的理解和的解决办法
来源:互联网 发布:广州知伴科技有限公司 编辑:程序博客网 时间:2024/05/17 15:57
1:在XCode 4.2中,使用模板新建一个工程,该工程将”默认“选择使用ARC特性
2:对于已经建立好的项目可以 选中项目, Building Settings, 然后找到 Objective C Automatic Reference Counting(找不到,可以搜索到), 设置改为No 就行了.
----ARC理论基础---
ARC的工作原理是,在你编译程序时,将内存操作的代码(retain,release或autorelease)自动添加到需要的位置。即底层上使用和Manual Reference Counting(手工引用计数)一样的内存管理机制,但由于XCode自动帮你在编译时添加内存操作的代码,从而简化了编程的工作。
启用ARC,编译选项中需加上-fobjc-arc,不过这个由XCode在创建工程模板时帮你完成。
XCode 4.2以前版本都不支持ARC。
对操作系统也有要求:Mac OS X v10.6或v10.7 (64-bit applications),iOS4或iOS5。注意:其中Mac OS X v10.6和iOS4不支持weak references(弱引用,后面会说明什么是weak references)。
Xcode 4.2提供了一个名为“Convert to Objective-C Automatic Reference Counting”的工具,在Edit->Convert menu下,可以帮你自动将使用Manual Reference Counting的老代码转换成使用ARC的新代码(例如去掉对retain和release的调用)。
iOS5 xcode4.2 引入了ARC (AutomicReferenceCounting) , 使用xcode4.2 新建项目时,会有一些小小的变化。
NSAutoReleasePool 被 @ {Autoreleasepool / / Code for autoreleasepool } block 取代了。
新增了__strong , __weak 编译指令。
ios5.0知道你的变量在何时需要release,何时需要autorelease,所以变量不要写成全局的,全局的变量用single去代替。
解决办法:在项目中关闭 ARC 功能,在项目属性中将Object-C Automatic Reference Counting设置为NO即可。否则在编译时,会对 release ,retainCount, retain 等内存相关操作在编译时出现红色警告。
如下图:设置为No即可。
- Xcode4.2中的release,retainCount, retain“不能”使用的理解和的解决办法
- Xcode4.2不能使用 release ,retainCount, retain的解决办法
- retain和release 的使用
- 10-retain和release的简单使用
- OC学习笔记-内存管理、retain、release和retainCount
- retain 和release 的区别
- 理解NSString的RetainCount
- ios内存管理1-retain和release的简单使用
- ios内存管理1-retain和release的简单使用
- Xcode4使用release报错的问题
- Iphone开发(5) retain,release,retainCount,dealloc
- 苹果如何管理:retainCount、retain、release
- cocos2dx中的retain和release
- 黑箱中的 retain 和 release
- 黑箱中的 retain 和 release
- retain 和 release成对使用
- 关于Cocos2dx的retain\release\autorelease的理解
- 使用 Instruments 之 Allocations 查看 对象的 release 和 retain 的操作记录
- python操作文件目录
- 身份证号码规则
- Android WebView图片浏览
- 关于android的listview数据列表显示的下拉和刷新报错问题
- cocos2d-x中讲解TileMap地图编辑器的高级用法(三)
- Xcode4.2中的release,retainCount, retain“不能”使用的理解和的解决办法
- linux 下命令
- 将 Hadoop YARN 发扬广大
- php中判断是否为多个空格字符串的方法
- nfc相关网址
- Flex DataGrid行自定义颜色
- GitHub 优秀的 Android 开源项目
- CentOS 6下搭建Apache+MySQL+PHP+SSL
- 3. java 程序控制语句