簡體   English   中英

viewController的viewdidload在appDelegate的方法之前調用

[英]viewController's viewdidload called before appDelegate's method

我想在viewDidLoad調用之前初始化一些代碼,但它總是首先進入viewDidLoad,然后進入方法applicationDidFinishLaunching。 我無法理解發生了什么?

這是因為AppDelegate在applicationDidFinishLaunching之前自動實例化其窗口和主視圖控制器。 您應該取消選中故事板中的“是初始視圖控制器”,並在applicationDidFinishLaunching中手動創建窗口及其根視圖控制器。

應用程序的文檔:didFinishLaunchingWithOptions

您應該使用此方法初始化應用程序並准備運行。 在啟動應用程序並加載其主nib文件后調用它。 在調用此方法時,您的應用程序處於非活動狀態。 在此方法返回后的某個時刻,將調用后續委托方法將應用程序移動到活動(前台)狀態或后台狀態。

因此,一旦調用view屬性或方法,視圖就會被視圖控制器延遲加載。 當發生這種情況時,會調用viewDidLoad,因此如果您的窗口rootViewController屬性設置為nib中的根ViewController,那么這是預期的行為。

暫無
暫無

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

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