簡體   English   中英

Xcode Swift ViewDidLoad

[英]Xcode Swift ViewDidLoad

我有兩個ViewController。 當我按下FirstViewController上的按鈕時,SecondViewController出現。 當我按下SecondViewController上的按鈕時,FirstViewController再次出現。 問題是,FirstViewController上的View不會再次加載。 ViewDidLoad循環不會再次加載。 我想創建一個循環,每次FirstViewController出現時都會檢查一個變量。

僅在首次加載視圖時調用viewDidLoad 聽起來好像您在尋找viewDidAppear (或viewWillAppear )方法,該方法在每次視圖剛被( viewDidAppear )或即將出現( viewWillAppear )時都會調用。

因此,您可能正在尋找這兩種方法。 您可能需要查看此頁面上的圖以獲取更多信息

將該代碼放入viewDidAppearviewWillAppear

UIViewController的實例添加到Navgation Stack時,將調用ViewDidLoad方法。

我以為您已經了解Navigation Stack

當您從SecondViewController顯示FirstViewController ,這意味着您通過兩種可能的方式做了一件事情

1.SecondViewControllerNavigation Stack這樣ViewDidLoadFirstViewController永遠不會調用因為FirstViewController在內存中已經加載。 在這種情況下,將執行ViewDidAppearViewWillAppear 因為這些方法將始終在視圖出現在屏幕上時調用。

2.你創造的另一個實例FirstViewControllerSecondViewControllerFirstViewController上的實例Navigation Stack 這樣,將添加新的FirstViewController實例,並自動調用ViewDidLoad 然后將自動創建一個循環的FirstViewControllerSecondViewController

希望您現在了解為什么從未調用過ViewDidLoad方法。

暫無
暫無

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

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