Toa*_*tor 9 memory-management objective-c ios automatic-ref-counting
ARC仅受iOS 4.0及更高版本支持的技术原因是什么?
我的理解是它是一个编译器功能,它只是自动插入与内存管理相关的代码,而不是要求开发人员这样做.根据我的阅读,调用本身保持不变 - 至少这是苹果过渡到ARC指南所暗示的.
因此,它不应该包含以前版本的iOS中没有出现的功能,尽管稍后介绍过,ARC确实可以与iOS 4.0一起使用.
我出于好奇而问这个问题,实际上并不需要让ARC与iOS 3.x一起工作.
Bra*_*son 16
出于同样的原因,自动引用计数仅支持64位Snow Leopard作为最低部署目标:ARC支持要求某些功能仅出现在现代运行时的足够新版本中.现代运行时是在iOS 4.0中引入的,因此较旧的iOS版本缺乏运行时能够处理ARC技术上所需的一些事情.如果只是键入操作系统版本,也会支持32位Snow Leopard应用程序,但只有64位运行时才是现代的.
如果您观看来自WWDC 2011的 Apple演示文稿,特别是"Objective-C Advancements In Depth",您会看到已经进行了许多改进,以加快保留/发布过程,以及比较快的事情@autoreleasepool.LLVM ARC规范中有关于运行时支持的整个部分.这些改进不仅需要编译器支持.
我们已经不得不使用现代运行时来实现自动合成实例变量等功能(如Apple的文档中所述),所以这不是一个可怕的惊喜.
即使iOS 4.0作为目标也缺乏对弱引用的支持,因此这里有明显的技术问题.这不仅仅是推动开发人员使用新版本的营销策略,正如其他人所声称的那样.
| 归档时间: |
|
| 查看次数: |
2488 次 |
| 最近记录: |