iOS应用程序中的复杂启动逻辑:它应该驻留在哪里?

时间:2016-08-18 05:18:26

标签: ios

每个人都看到了经典的didFinishLaunchingMethod。“

现在我们在启动CloudKit时还有其他事情可以参考,也就是说,为了让事情更糟,异步,应用代理似乎是错误的地方,即使是最基本的东西,比如问他们是否有帐户和建立同步或抓取快照。

我讨厌这些东西会进入应用程序启动的第一个控制器的想法,让我从以前的日子里回到4GL tinkertoys。

然而,我们必须尊重故事板的流程。我没有发现任何关于此的搜索。可悲的是,最广泛的Apple案例Lister并不是最佳实践的重要来源。

1 个答案:

答案 0 :(得分:1)

它适合app委托触发此工作的开始,但不适合处理结果。通常你想要一些方法来显示进度/错误/请求用户信息。所以,有一些形式的' splash'视图控制器,它处理从启动映像到此过程的转换,并控制流入主应用程序的流程非常方便。通常,这种事物的逻辑在其他情况下是可重用的,因此该部分应该在其他控制器类中。故事板可以使splash VC成为初始控制器,app委托可以创建并传递数据控制器类,该类处理逻辑并用结果更新VC(它的委托)。通常,启动VC会将数据控制器传递给它显示的后续VC,但当然并不需要。