UIApplicationDelegate应用生命周期控制器
应用生命周期的核心控制器——UIApplicationDelegate
,说实话,这玩意儿不熟不行。你每次点开 App,其实就是它在背后帮你安排启动流程、切后台、中断啥的。比如说,application:didFinishLaunchingWithOptions:
就是启动那一刻的第一步,初始化、拉 UI、搞配置,全靠它打头阵。
进入后台、再切回来?用 applicationDidEnterBackground:
和 applicationWillEnterForeground:
就行。前一个你可以清缓存、断链接,后一个可以重连网络、刷 UI。看着挺多方法,但每个都有它该在的时机,用熟了就像和操作系统对暗号,蛮有意思的。
有电话打进来咋办?别慌,中断方法等着你,比如 applicationWillResignActive:
和 applicationDidBecomeActive:
。你可以在用户被打断时保存状态,回来再恢复体验,像游戏暂停再继续一样自然。
多任务支持也赞。像你在 App 里开个上传任务切出去,它还能后台继续上传一会儿,这就得靠 UIApplicationDelegate
的多任务相关。要记得在 info.plist
配好权限,不然系统不给你后台时间。
还有通过 URL 唤起 App 的操作,比如点个链接打开某个页面,就得实现 application:openURL:sourceApplication:annotation:
。配合 URL Scheme 或 Universal Links,用好了可玩出多骚操作。
提醒一句,如果你设置了 ExitsOnSuspend
为 Yes
,那你的 App 会在退到后台时直接退出——这个多新手会忽略,搞得数据没保存好就被系统关掉。
,UIApplicationDelegate 不难,但蛮关键。你要是写 iOS 项目,基本就离不开它。建议你动手写个 Demo,把这些生命周期方法都打上日志看看调用顺序,印象更深。
评论区