在iOS13之后,我们在创建新的项目工程时候,会发现会出现两个代理,分别是:AppDelegate 和 SceneDelegate ,而AppDelegate 中的 window属性 也被放到了SceneDelegate中,所以iOS13中appdelegate的职责发现了改变:(使用场景的情况下)
iOS13之前,Appdelegate的职责全权处理App生命周期和UI生命周期;
iOS13之后,Appdelegate的职责是:
1、处理 App 生命周期
2、新的 Scene Session 生命周期
那UI的生命周期呢?交给新增的Scene Delegate处理
iOS13之前
上图为iOS13之前的生命周期
但是iOS13之后,Appdelegate不在负责UI生命周期,所有UI生命周期交给SceneDelegate处理:
iOS13 SceneDelegate处理界面的生命周期
如果不需要用到SceneDelegate,可以直接在AppDelegate里创建window,在didFinishLaunchingWithOptions里创建启动控制器、注释掉下面的两个与scene有关的代理方法,SceneDelegate可以删除,也可以不管他,info.plist文件中删除Applicati
ios13中的生命周期
最新推荐文章于 2025-10-28 11:42:31 发布
iOS13引入了SceneDelegate,导致AppDelegate的职责发生变化。AppDelegate现在主要处理App生命周期和新的Scene Session,而UI生命周期由SceneDelegate接管。若不需要SceneDelegate,可在AppDelegate创建window并注释相关scene代理方法,保持iOS13前的行为。




最低0.47元/天 解锁文章
280

被折叠的 条评论
为什么被折叠?



