没有合适的资源?快使用搜索试试~ 我知道了~
iOS 5.0 ARC开发详细解读
5星 · 超过95%的资源 需积分: 10 7 下载量 146 浏览量
2013-01-23
15:06:57
上传
评论
收藏 1.27MB PDF 举报
温馨提示
试读
49页
最全面的ARC解读,手把手教会你。文档从基础到高级,从IBOutlet、Property、delloc开始讲解,重点讲解了weak、strong等的用法
资源推荐
资源详情
资源评论
iOS 5 ARC 完全指南 GungYi Inc http://www.gungyi.com
第 2 页 / 共 49 页
目录
ARC 完全指南 ................................................................................................................ 3
指针保持对象的生命............................................................................................. 3
Xcode 的 ARC 自动迁移 ......................................................................................... 9
Xcode 的自动迁移工具 ................................................................................... 9
转换后的其它问题........................................................................................ 14
禁止某些文件的 ARC .................................................................................... 14
ARC 自动迁移的常见问题 ............................................................................ 15
属性 property ....................................................................................................... 17
IBOutlet .......................................................................................................... 18
readonly property .......................................................................................... 19
autorelease、release、retain 调用 ..................................................................... 19
dealloc 方法 .......................................................................................................... 20
AutoreleasePool .................................................................................................... 20
Toll-Free Bridging .................................................................................................. 21
Delegate 和 Weak Property ................................................................................ 26
unsafe_unretained ................................................................................................ 27
iOS 4 中使用 ARC .................................................................................................. 27
ARC 高级指南 .............................................................................................................. 28
Blocks 与 ARC ........................................................................................................ 28
Singleton 与 ARC ................................................................................................... 34
Autorelease 和 AutoreleasePool .......................................................................... 40
Cocos2D 和 Box2D .............................................................................................. 45
静态库 static library .............................................................................................. 48
最后?................................................................................................................... 49
参考资料............................................................................................................... 49
iOS 5 ARC 完全指南 GungYi Inc http://www.gungyi.com
第 3 页 / 共 49 页
ARC
完全指南
iOS 5 最显著的变化就是增加了 Automatic Reference Counting(自
动引用计数)。ARC 是新 LLVM 3.0 编译器的特性,完全消除了手动内
存管理的烦琐。在你的项目中使用 ARC 是非常简单的,所有的编程都
和以前一样,除了你不再调用 retain, release, autorelease。启用 ARC
之后,编译器会自动在适当的地方插入适当的 retain, release,
autorelease 语句。你不再需要担心内存管理,因为编译器为你处理了
一切。注意 ARC 是编译器特性,而不是 iOS 运行时特性(除了 weak 指
针系统),它也不是其它语言中的垃圾收集器。因此 ARC 和手动内存
管理性能是一样的,有些时候还能更加快速,因为编译器还可以执行某
些优化。
指针保持对象的生命
ARC 的规则非常简单:
只要还有一个变量指向对象,对象就会保持
在内存中。
当指针指向新值,或者指针不再存在时,相关联的对象就会
自动释放。这条规则对于实例变量、synthesize 属性、本地变量都是适
用的。
我们可以按“所有权”(ownership)来考虑 ARC 对象:
NSString *firstName = self.textField.text;
firstName 变量成为 NSString 对象的指针,也就是拥有者,该对象
保存了文本输入框的内容。
iOS 5 ARC 完全指南 GungYi Inc http://www.gungyi.com
第 4 页 / 共 49 页
一个对象可以有多个拥有者,在上面例子中,UITextField 的 text 属
性同样也是这个 String 对象的拥有者,也就是有两个指针指向同一个对
象:
随后用户改变了输入框的文本,此时 text 属性就指向了新的 String
对象。但原来的 String 对象仍然还有一个所有者(firstName 变量),
因此会继续保留在内存中。
iOS 5 ARC 完全指南 GungYi Inc http://www.gungyi.com
第 5 页 / 共 49 页
只有当 firstName 获得新值,或者超出作用域(本地变量方法返回
时、实例变量对象释放时),String 对象不再拥有任何所有者,retain
计数降为 0,这时对象会被释放。
我们称 firstName 和 textField.text 指针为“strong”,因为它们能够保
持对象的生命。默认所有实例变量和本地变量都是 strong 类型的指针。
另外还有一种“weak”指针,weak 变量仍然指向一个对象,但不是对
象的拥有者:
__weak NSString *weakName = self.textField.text;
剩余48页未读,继续阅读
资源评论
- 提西封内2013-06-09对arc 不是很理解 下载下来看看
- sbj308697063sbj2013-03-15。正在用ARC,很多不解。
- lemonshine7242013-06-14这个对ARC总结的比较全面,蛮好的
- gaoyp2013-02-01非常好的中文资料。正在用ARC,很多不解。
星期八的日出
- 粉丝: 56
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功