Mac OSX保留释放强等

时间:2011-12-15 23:48:55

标签: iphone objective-c macos

我来自iOS世界,现在使用ARC和“强大”。

我的目标是OSX 10.6及更高版本,Mac是否使用ARC&垃圾收集?有人可以指点我关于10.6或以上这些事项的指南吗?

2 个答案:

答案 0 :(得分:3)

在OS X 10.7和10.6中可以使用ARC和strong。如果你使用10.6,你就不能使用ARC的归零弱引用(它们不会为零)。

GC针对ARC所遇到的同样问题,但是从不同的方向来看它。您可以从10.5开始使用它。即使您有保留周期,GC也会起作用。但是,GC在运行时有一些不可预测的结果(你不确切知道什么时候你的问题会在垃圾收集周期暂停)。

如果您在iOS上使用ARC并且乐于避免在那里保留周期,并且不需要将弱引用置零,那么在OSX上执行此操作会更简单,然后了解GC的细微差别。如果您使用ARC取决于将弱引用置零(例如,中断保留周期),则不要支持10.6,或采用GC。

Apple在http://developer.apple.com/library/mac/#releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_7.html的发行说明中有一些细节。

答案 1 :(得分:-1)

启动Mac OS X 10.5 Leopard,Mac OS X中提供了垃圾收集。

ARC是一种编译器功能。运行时仍然通过retainins / release管理内存,但所有这些都是开发人员隐藏的。