作为带有 ARC 选项的 LLVM 编译器,它会自动为我们添加保留、复制、释放和自动释放,但是 ARC 是如何确定是使用保留还是复制呢?提前致谢:)
问问题
296 次
2 回答
4
ARC 不添加copy
,如果您需要副本,那仍然是您的责任。它只为您retain
管理release
。如果您手动copy
进行某些操作,尽管它知道您会获得一个新对象,但它必须在某个时间释放。
于 2012-06-28T06:36:03.930 回答
0
如以下文档中所述(http://clang.llvm.org/docs/AutomaticReferenceCounting.html#meta)
自动引用计数实现了 Objective-C 对象和块的自动内存管理,使程序员无需显式插入保留和释放。它不提供循环收集器;用户必须明确管理其对象的生命周期,手动或使用弱或不安全的引用中断循环。
你也可以通过这个线程的讨论——新的自动引用计数机制是如何工作的?
于 2012-06-28T06:33:08.313 回答