为什么一定要使用[[UIApplication sharedApplication].delegate window]获取Window?

通常,为了获取当前window,或者当前正在接管视图的window,会使用

[UIApplication sharedApplication].keyWindow

来获取当前的keyWindow,但这样存在问题。
如果在App启动后,有一些弹窗比如广告、升级等,是添加在当前keyWindow上的,那大概率会导致无法显示或者崩溃。
在App启动时,keyWindow只有在viewWillLayoutSubviews执行完毕后,才有值。
但是通过

[[UIApplication sharedApplication].delegate window]

获取的window是App初始化之后的window,只要初始化过,就一定会有值了。
这个window可能和keyWindow是同一个,也可能不同。

参考:https://blog.csdn.net/weixin_43883776/article/details/85017069

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。