利用 Combine 驱动 SwiftUI 开发
1. 初探 Combine 应用
当运行应用并允许使用定位服务后,你将看到当前位置。这意味着你已经成功实现了第一个 Combine 应用!
在深入了解发布者(Publishers)之前,有一点需要注意:我们将两个 @Published 变量设为私有。这可能有悖常理,因为通常 @Published 变量是视图用来渲染内容的。但在此例中,视图模型(ViewModel)会暴露从 @Published 变量派生而来的其他变量,如纬度、经度和状态描述,视图会使用这些变量来渲染组件。实际上, @Published 变量的目的是触发重新渲染,即便视图不会直接使用这些被 @Published 修饰的变量。
接下来,让我们快速了解一下 Combine 的两个重要部分:发布者(Publishers)和订阅者(Subscriptions)。
2. Combine 中的发布者
在示例中,发布者是两个主题(Subjects)。在 Combine 的世界里,发布者可被视为一个具有一个输入和一个输出的函数。发布者协议管理客户端可以订阅的输出,而管理输入的协议是主题,它提供了 send() 函数来发送事件。
已经实现的两个主题分别是 CurrentValueSubject 和 PassthroughSubject 。前者有初始值,并且即使没有订阅者,也会保留更改后
Combine驱动SwiftUI开发实战
超级会员免费看
订阅专栏 解锁全文
2970

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



