[英]Xcode Swift ViewDidLoad
我有兩個ViewController。 當我按下FirstViewController上的按鈕時,SecondViewController出現。 當我按下SecondViewController上的按鈕時,FirstViewController再次出現。 問題是,FirstViewController上的View不會再次加載。 ViewDidLoad循環不會再次加載。 我想創建一個循環,每次FirstViewController出現時都會檢查一個變量。
僅在首次加載視圖時調用viewDidLoad
。 聽起來好像您在尋找viewDidAppear
(或viewWillAppear
)方法,該方法在每次視圖剛被( viewDidAppear
)或即將出現( viewWillAppear
)時都會調用。
因此,您可能正在尋找這兩種方法。 您可能需要查看此頁面上的圖以獲取更多信息
將該代碼放入viewDidAppear
或viewWillAppear
。
將UIViewController
的實例添加到Navgation Stack
時,將調用ViewDidLoad方法。
我以為您已經了解Navigation Stack
。
當您從SecondViewController
顯示FirstViewController
,這意味着您通過兩種可能的方式做了一件事情
1.您SecondViewController
從Navigation Stack
這樣ViewDidLoad
的FirstViewController
永遠不會調用因為FirstViewController
在內存中已經加載。 在這種情況下,將執行ViewDidAppear
和ViewWillAppear
。 因為這些方法將始終在視圖出現在屏幕上時調用。
2.你創造的另一個實例FirstViewController
上SecondViewController
推FirstViewController
上的實例Navigation Stack
。 這樣,將添加新的FirstViewController
實例,並自動調用ViewDidLoad
。 然后將自動創建一個循環的FirstViewController
和SecondViewController
。
希望您現在了解為什么從未調用過ViewDidLoad
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.