响应式编程在吉他订购应用中的实践
1. 主题与事件封装
在开发中,主题(Subject)是一种简单的单元,可用于主动发送值并将这些值发布给所有订阅者,可将其视为手动控制的数据流。其中, PassthroughSubject 适合表示事件,而 CurrentValueSubject 适合表示状态。
为了封装用户点击结账按钮的事件,需要在视图模型中添加以下方法:
func checkout() {
shouldCheckout.send()
}
此方法提供了一个公共接口,用于向 shouldCheckout 主题发送事件。同时,在 BuildView.swift 中找到 ActionButton ,并在其闭包内添加 viewModel.checkout() ,以便在用户按下结账按钮时触发该方法。
2. 结账数据获取
为了获取结账页面所需的数据,需要进行三个并行的 API 调用,这些调用可通过 GuitarService 实现。在 BuildViewModel 中添加 GuitarService 实例:
private let guitarService = GuitarService()
超级会员免费看
订阅专栏 解锁全文
1205

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



