2

作为带有 ARC 选项的 LLVM 编译器,它会自动为我们添加保留、复制、释放和自动释放,但是 ARC 是如何确定是使用保留还是复制呢?提前致谢:)

4

2 回答 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 回答