【发布时间】:2015-02-09 02:11:03
【问题描述】:
我对上述两种应用程序委托方法有些困惑:我读过这个link,它表明 applicationWillEnterForeground 将在 applicationDIdBecomeActive 被调用之前被调用。我不确定之前的方法。
如果我有一个社交应用程序:在我的 applicationWillEnterForeground 函数中,我将检查是否存在当前用户会话;在我的应用程序DIIdBecomeActive 中,我将重新加载timelineViewController 上的内容:因此,如果没有当前用户会话,则无法显示时间线。假设用户在没有当前用户会话的情况下从后台进入应用程序,applicationWillEnterForeground 将显示一个登录页面以指示没有用户,但是,下一个调用的 applicationDIdBecomeActive 会返回到不应该显示的时间线吗?
如果我不想修改其他视图控制器中的代码,或者在 applicationDIdBecomeActive 中检查用户会话。我可以在 applicationWillEnterForeground 函数中添加任何代码来防止 applicationDIdBecomeActive 函数运行吗?
另一个问题:我注意到对于像 Facebook 这样的应用程序,如果我按下主页按钮,将其转为背景,但立即将其转回屏幕,该应用程序不会显示很多变化;但是,如果我让它在后台停留一个小时,当我把它转回前台时,它会“冻结”一段时间(看起来很清爽)。委托方法如何设计来实现这一点?系统是否根据应用在后台停留的时间来决定调用哪个委托方法(以上两种)?
顺便说一句,我使用 swift 作为 iOS 的主要编程语言
【问题讨论】:
标签: ios swift viewcontroller