可能重複:
What's the difference between sending -release or -drain to an Autorelease Pool?[游泳池釋放]和[游泳池排水]有什麼區別?
我剛剛一直在思考[池釋放]和[池排水]之間的區別..
當我們創建一個基於視圖的在IOS中應用,使用[池釋放]。
當我們在MAX OS X中創建一個命令行工具時,使用[pool drain]。
爲什麼要以不同的方式使用它們?
可能重複:
What's the difference between sending -release or -drain to an Autorelease Pool?[游泳池釋放]和[游泳池排水]有什麼區別?
我剛剛一直在思考[池釋放]和[池排水]之間的區別..
當我們創建一個基於視圖的在IOS中應用,使用[池釋放]。
當我們在MAX OS X中創建一個命令行工具時,使用[pool drain]。
爲什麼要以不同的方式使用它們?
區別已經解釋了in this post。基本上,如果你沒有垃圾回收,排放和釋放一樣。
除非您在OSX上使用垃圾收集,否則沒有區別。 iOS和OSX上不帶GC的情況下完全一樣。
喬
在一個垃圾收集的環境中,沒有必要自動釋放 池。但是,您可以編寫一個專門用於在垃圾收集和參考計數環境中工作的框架( )。在這個 的情況下,你可以使用autorelease池向收集器暗示 收集可能是合適的。在垃圾收集環境中,如果需要 ,向池發送排出消息的 會觸發垃圾回收;然而,發佈是沒有任何操作的。在參考計數的 環境中,排放與釋放具有相同的效果。通常,因此,您應該使用drain而不是release。
我先看到你的答案.. –