18、利用 Combine 驱动 SwiftUI 开发

Combine驱动SwiftUI开发实战

利用 Combine 驱动 SwiftUI 开发

1. 初探 Combine 应用

当运行应用并允许使用定位服务后,你将看到当前位置。这意味着你已经成功实现了第一个 Combine 应用!

在深入了解发布者(Publishers)之前,有一点需要注意:我们将两个 @Published 变量设为私有。这可能有悖常理,因为通常 @Published 变量是视图用来渲染内容的。但在此例中,视图模型(ViewModel)会暴露从 @Published 变量派生而来的其他变量,如纬度、经度和状态描述,视图会使用这些变量来渲染组件。实际上, @Published 变量的目的是触发重新渲染,即便视图不会直接使用这些被 @Published 修饰的变量。

接下来,让我们快速了解一下 Combine 的两个重要部分:发布者(Publishers)和订阅者(Subscriptions)。

2. Combine 中的发布者

在示例中,发布者是两个主题(Subjects)。在 Combine 的世界里,发布者可被视为一个具有一个输入和一个输出的函数。发布者协议管理客户端可以订阅的输出,而管理输入的协议是主题,它提供了 send() 函数来发送事件。

已经实现的两个主题分别是 CurrentValueSubject PassthroughSubject 。前者有初始值,并且即使没有订阅者,也会保留更改后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值