由于带有ARC选项的LLVM编译器会自动为我们添加保留,复制,释放和自动释放,但ARC如何确定是使用保留还是复制? 在此先感谢:)
答案 0 :(得分:4)
ARC无法添加copy
,如果您需要副本,那仍然是您的责任。它仅为您管理retain
和release
。如果你手动copy
虽然它知道你得到一个新的对象,它必须在某个时候发布。
答案 1 :(得分:0)
如以下文档(http://clang.llvm.org/docs/AutomaticReferenceCounting.html#meta)
中所述自动引用计数实现自动内存管理 对于Objective-C对象和块,释放程序员 需要明确插入保留和发布。它没有提供 循环收集器;用户必须明确管理他们的生命周期 对象,手动打破循环或使用弱或不安全的引用。
您也可以通过对此主题的讨论 - How does the new automatic reference counting mechanism work?