【发布时间】:2011-06-27 14:13:46
【问题描述】:
我是 Objective-C 的新手,我觉得在 C++ 中很合适。
我的问题是: 为什么 obj-c 的语言设计器适合使用 retain/release 而不是只使用 new/delete(=alloc/dealloc)?
也许我的大脑只适合新/删除内存管理,我不明白为什么我应该管理引用计数,我想我知道什么时候对象必须根据我的 C++ 经验分配/释放。
(是的,我花了4个小时调试引用计数问题,通过1行“release”解决)
谁能解释一下当我们使用引用计数器时什么更好? (在编程语言方面)我认为我可以通过新建/删除来管理对象的生命周期,但我不能使用引用计数。
如果您有链接,我需要长篇文章来解释为什么引用计数器很有用。
P.S:我在 WWDC 2011 上听说过 Compile-time Automatic Reference Counting,它真的很棒,例如可能是因为使用了引用计数器。
【问题讨论】:
-
我不确定您的问题是否有客观答案(双关语是半有意的)。我不认为有一个 Obj-C 程序员会毫无保留地为引用计数辩护——老实说,这是一个皇家 PITA。我会推荐 Xcode 4 中的代码分析器(Product->Profile),以节省您修复引用计数问题和过早发布的时间(双关语绝对不是有意的)。祝你好运!
标签: iphone objective-c reference-counting