2011-11-02 22 views
2

我注意到,當我創建基於ios5的項目時,沒有在各種類文件中放置dealloc方法,但我記得有一個現成的dealloc方法放置在大多數這些文件在基於ios 4.3的項目中...... 是否意味着如果我沒有釋放分配的對象,將不會發生內存泄漏?或者我應該自己的dealloc方法?在基於ios5的項目中默認情況下不存在dealloc方法

回答

3

僅當您使用ARC時。我想這個改變對我們來說是密集的。如果你不這樣做,你應該像以前一樣執行dealloc。

+0

在XCode中是否有一個選項來爲項目啓用ARC?或者它需要編碼? – JAHelia

+0

我不明白你爲什麼想要沒有ARC,是否有理由避免使用它? –

+0

對ARC還不太瞭解.. – JAHelia

1

這是因爲iOS 5項目,默認情況下已啓用ARC。在支持ARC的項目中,所有版本,autoreleases和dealloc都是非法的。

+0

我還沒有開始iOS 5的開發,編譯器會發出警告嗎?構建會失敗?如果你有發佈? – Osiris

+0

新項目ARC已經啓用。對於具有手動內存管理的舊項目,可以升級使用ARC或僅從ARC中退出。看到這個:http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html#//apple_ref/doc/uid/TP40011226 – Vin