把代码迁移到协调器上
这篇文章是 Coordinators(协调器)进阶教程系列的第一篇。如果你没有阅读过原始的帖子及其后续,请务必首先查阅这些文章。该系列将涵盖几项进阶的 Coordinator 使用技巧、疑点、常见问题以及其他细碎的内容。让我们开始吧。 常有人问我,如何把一个使用 Storyboard 构建或者是使用纯代码编写 ViewController 构建的应用重构成使用 Coordinators 的应用。只要方法正确,重构可以逐步完成。即使重构未完成,你的应用仍旧可以部署。 要实现这个目标,最好的做法是从根路径出发,在 Coordinators 中称之为 “AppCoordinator”。AppDelegate 持有该 AppCoordinator,AppCoordinator 调度 App 可以加载的所有 ViewController。 想要理解为什么从 App 的根路径开始,可以从反面来思考。如果从一些叶子流程开始(比如,一个 有两种方案可以防止对象被释放。第一种方案是使用静态引用。因为系统里可能只有一个 如果你遇到了必须从子流程开始的情况,你可以使用上述两种方法之一。但是,如果可以选择,我的建议是从根路径开始。 从根路径开始的另一个好处是认证流程通常更靠近 App 的根路径。身份认证是一个很好的流程,可以抽象成单独的对象,很适合用来验证 App 中的 Coordinator。 将 App 的 RootViewController 交付给 一旦所有的场景切换都转移到了 Coordinator 中,你就可以开始下一步的重构了,例如将 iPhone 和 iPad 的 Coordinator 封装到单独的对象(而不是一个切换状态的 Coordinator),让子流程可复用,更好地依赖注入,这些都可以应用到你的新架构中。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |