第一章学习笔记¶
名称 | 作用 |
---|---|
Just |
直接创建一个发布者 |
sink(_:_:) |
订阅发布者 |
assign(to:on:) |
能够将接收到的值分配给一个遵循了KVO协议的属性 |
assign(to:) |
assign(to:on:) 的变种,不返回AnyCancellable,可以在某些场景解决循环引用,在它的内部管理生命周期,并在@Published属性释放时取消了订阅。 |
Future |
可以用异步来生成一个单一的结果,然后完成。 |
动态调整¶
// 用于初始的需求数
func receive(subscription: Subscription)
// 可以通过该方法进行动态调整需求数
func receive(_ input: Int) -> Subscribers.Demand
Subject¶
Subject可以向Combine的订阅者发送值。
名称 | 作用 |
---|---|
PassthroughSubject | 可以按需发布新值,会发布一个新值以及一个完成事件。 |
CurrentValueSubject | 可以在任何时候向当前Subject询问其值,但也和其他Subject一样要用send发送完成或者失败事件。 |
eraseToAnyPublisher() | 该操作符可以将具体的发布者类型擦除,变成一个AnyPublisher |