协议Reactor
- 定义了Action/Mutation/State关联类型
- 将输入的Action/输出的State转化成流的形式方便绑定
- 使用runtime将action/initialState/currentState等持有
- 规定了action->mutation->state的转换步骤
- transform三个转换方法提供了全局变量作用于reactor的方式
协议View/StoryboardView
- 使用runtine将reactor持有
- 并且对从Sb初始化的VC的view做了isViewLoaded的判断延时设置reactor保证安全
ActionSubject
- 一个用于Action的特殊类型,只发送.next事件
- 实际上跟RxCocoa中的ControlPropoty有点相似
怎么写?
- 定义Action(枚举)
- 定义Mutation(枚举)
- 定义Action->Mutation的转换逻辑
- 定义PreState+Mutation->State的转换逻辑
- bind(reactor:)方法中:
-绑定UI事件到reactor.action
-绑定reactor.state到UI
撒花🎉
PS:个人认为,相对于简单界面,Mutation这一步有点多余。
网友评论