簡體   English   中英

如何手動調用viewDidLoad?

[英]How do I call viewDidLoad Manually?

我在iOS上有一個小問題。 我正在使用協議在兩個視圖控制器之間來回傳遞數據並手動切換視圖。 我的問題是,當我關閉頂視圖時,不會再次調用底視圖的viewDidLoad。 由於我是從第二個視圖向第一個視圖發送信息,因此需要調用viewDidLoad以便處理傳遞的信息。 如果您有關於如何執行此操作的任何想法,請提供幫助。 謝謝。

- (void)viewDidLoad {
    [super viewDidLoad];
}

第一次將視圖控制器加載到內存時,僅調用一次。 在這里您要實例化任何實例變量並構建在該視圖控制器的整個生命周期中都有效的所有視圖。

- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
}

在視圖實際可見時調用,並且可以在視圖控制器的生命周期中多次調用(例如,當關閉模態視圖控制器並且視圖再次變得可見時)

使用-(void)viewDidAppear:(BOOL)animated而不是viewDidLoad

我正在使用協議在兩個視圖控制器之間來回傳遞數據並手動切換視圖。 我的問題是,當我關閉頂視圖時,不會再次調用底視圖的viewDidLoad。 由於我正在從第二個視圖向第一個視圖發送信息,因此需要調用viewDidLoad

不,您不會,事實上您認為自己做到了,這讓我覺得這里可能有其他問題。

試想一下:如果你是真正的從第二視圖控制器從第一個將數據傳回,然后第一個視圖控制器具有的數據, 現在可以自行更新。 它存在並且有視圖。 因此,當您處理數據時,它應該當場更新。 然后,當您關閉第二個視圖控制器時,第一個視圖控制器的視圖將出現-已經更新。 實際上,關閉第二視圖控制器僅顯示了一直存在的第一視圖控制器的視圖,即使未顯示,該視圖也已更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM