RxSwift开发:场景协调与任务管理
1. 场景协调概述
在开发基于MVVM架构的应用时,一个令人困惑的问题是“应用如何在不同场景之间进行过渡?”不同的架构对此有不同的处理方式。有些从视图控制器进行过渡,因为需要实例化另一个视图控制器;有些则使用路由器,它是连接视图模型的特殊对象。
1.1 场景过渡解决方案
采用的简单且有效的场景过渡解决方案步骤如下:
1. 视图模型创建下一个场景的视图模型。
2. 第一个视图模型通过调用场景协调器来启动向下一个场景的过渡。
3. 场景协调器使用 Scenes 枚举的扩展方法来实例化视图控制器。
4. 场景控制器将控制器绑定到下一个视图模型。
5. 最后,呈现下一个场景的视图控制器。
graph LR
A[视图模型] --> B[创建下一场景视图模型]
B --> C[调用场景协调器]
C --> D[实例化视图控制器]
D --> E[绑定控制器与视图模型]
E --> F[呈现下一场景视图控制器]
这种结构可以将视图模型与使用它们的视图控制器完全隔离,也使它们免受查找下一个要推送的视图控制器的细节影响。
1.2 场景协调器的使用注意事项
在场景之间过渡时,必须始终调用场景协调器的 transition(to:type:) 和 pop(animated:) 方法,因为协
超级会员免费看
订阅专栏 解锁全文
34

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



