在OS X 10.5+环境中编写相当典型的Mac代码时,使用垃圾收集有哪些缺点?
到目前为止,我写的所有其他内容都是10.4兼容或者在iPhone上,所以我对保留/发布变得相当舒服,但现在我正在开发一个更大的项目,只有10.5我只是想知道是否存在是继续使用Objective-C 2.0垃圾收集器的任何缺点.
你们有什么感想?
如果您正在编写新的Cocoa代码并以Mac OS X 10.5为目标,请使用Objective-C垃圾回收.
如果您正在编写一些可能还需要在iPhone上运行的代码,您可以通过将代码保存在单独的框架中,使用属性和使用编写代码以及设置框架和代码来非常轻松地编写和测试这两个模型的代码.您的单元测试目标是GC支持而不是GC.-retain
-release
Xcode将运行您的单元测试包两次,一次启用GC,一次关闭GC,您的框架将在两种执行模型下运行.然后,如果您最终想要将该模型级代码带到iPhone,您可以将其放在以iPhone为目标的静态库中,或直接将其包含在iPhone项目中.
不管你是否考虑在iPhone上运行你的代码,如果你的应用程序需要Leopard,你肯定应该定位垃圾收集.它将简化开发,Objective-C垃圾收集器的性能非常好.