我來自iOS世界,現在用ARC和「strong」。Mac OSX Retain Release Strong等
我的目標是OSX 10.6以上,Mac使用ARC &垃圾收集?有人可以指點我關於10.6或以上的這些問題的指南嗎?
我來自iOS世界,現在用ARC和「strong」。Mac OSX Retain Release Strong等
我的目標是OSX 10.6以上,Mac使用ARC &垃圾收集?有人可以指點我關於10.6或以上的這些問題的指南嗎?
開始的Mac OS X 10.5 Leopard中有Mac OS X中
ARC提供垃圾收集是一個編譯器的功能。 Runtime仍然通過保留/釋放來管理內存,但這一切對開發人員來說都是隱藏的。
所以我可以打開ARC,然後按照我一直用於iOS 5的ARC準則進行操作? – spentak 2011-12-16 00:01:57
ARC和strong在OS X 10.7和10.6中可用。如果使用10.6,則不能使用ARC的歸零弱引用(它們不爲零)。
GC的目標是ARC所做的同樣的問題,但是它來自不同的方向。您可以從10.5開始使用它。 GC即使在保留週期的情況下也能正常工作。然而,GC在運行時有些不可預測的結果(你不知道你的問題到底會在垃圾收集週期中暫停)。
如果您在iOS上使用ARC並且樂於避免保留週期,並且不需要調零弱引用,那麼在OSX上執行該操作會更簡單,然後再學習GC的細微差別。如果您使用ARC取決於清零弱引用(例如中斷保留週期),則不支持10.6或採用GC。
蘋果的發行註記http://developer.apple.com/library/mac/#releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_7.html有一些細節。
FWIW,ARC是* not *垃圾回收。 – Wevah 2011-12-16 01:12:22