[UIApplication sharedApplication].keyWindow和[[UIApplication sharedApplication].delegate window]區別

這說明在執行 didFinishLaunchingWithOptions: 這個代理方法時,在執行[self.window makeKeyAndVisible];方法以前,經過[UIApplication sharedApplication].keyWindow 方法獲取不到window,且在執行[UIApplication sharedApplication].keyWindow以前是要執行,rootviewcontroller的代碼的,所以先執行了controller中的代碼,可是在controller中咱們發現,在viewWillAppear和viewDidLoad 中的keywindow也是nil,可是在直到viewWillLayoutSubviews時纔有了keywindow的值。可是不管什麼時候都能獲取到delegate.windowspa

結論
一、在獲取到window時最好使用[[UIApplication sharedApplication].delegate window]獲取window
二、不要在keywindow爲nil的時候給window上添加代碼,例如添加彈窗
————————————————
原文連接:https://blog.csdn.net/weixin_43883776/article/details/85017069.net

相關文章
相關標籤/搜索