我有一個類的實例,它的委託只能調用一次。在應用程序生命週期中何處刪除委託?
視圖控制器(查看A)將調用self.delegate = self
,並有按鈕去其他視圖控制器(VC)。
在其中一個VC中,我需要來調用這個實例並重新設置委託。
起初我設置委託在viewWillAppear
,但是這是行不通的,因爲我加載在viewDidLoad
委託數據,由於viewDidLoad
將首先運行,我可以設置委託在viewDidLoad
或loadView
。
而除去委託可以在dealloc
,或viewWillDisappear
,但如果我提出一個VC,查看A的dealloc
不會被稱爲是不是?由於該視圖尚未刪除。
所以我的問題是,在這裏我設置視圖中的self.delegate = nil
?
如果我使用的是目前VC的方法,我應該在哪裏設置和刪除委託在觀? 在提交VC時,我可以通過viewDidLoad
和dealloc
進行設置和刪除。
在應用生命週期的最佳實踐方面的苦惱。
我看iOS uiviewcontroller life cycle