我作爲一個工作在iOS遺留代碼上的大團隊的一員工作,目標iOS環境爲4.3及更高版本。我看到其他開發人員檢查從NSObject
下降的類,但沒有dealloc
方法。我也看到UIViewController
後代不包括viewDidUnload
方法。當我詢問這個代碼時,通常的回答是「別擔心,ARC現在就照顧好這個。」在使用ARC之前,iOS6之前還需要'dealloc'和'viewDidUnload'方法嗎?
我明白viewDidUnload
通過調用viewDidLoad
調用時的iOS經驗內存不足的條件下,通過釋放可重新創建的對象釋放內存的一個目標,當一個對象的保留計數降爲零dealloc
被調用。對於UIViewController對象和後代,這可能意味着'viewDidUnload'可能會或可能不會在dealloc
之前被調用。
所以這裏是我的問題:在iOS 6之前的iOS版本上使用ARC時,仍然需要dealloc
和viewDidUnload
方法嗎?
如果答案是「是!」,那麼我將需要很好的理由和/或文件來進行論證。
期待您的回覆。 (感謝Tommy幫助我收緊我的問題。)
對不起,@Tommy,我對目標iOS版本的問題還不夠清楚。將根據您的答案更新問題。 :) – tychoD
謝謝,這確實回答了我的問題。 :D – tychoD
我必須在dealloc()中清除所有的@properties嗎? –