【发布时间】:2020-06-11 03:14:41
【问题描述】:
我有一个发出值的AnyPublisher 属性。当有人订阅它时,有没有办法立即发出最后一个值并让它从那里监听未来的值?
【问题讨论】:
标签: swift reactive-programming combine
我有一个发出值的AnyPublisher 属性。当有人订阅它时,有没有办法立即发出最后一个值并让它从那里监听未来的值?
【问题讨论】:
标签: swift reactive-programming combine
您应该为此使用 CurrentValueSubject 并将其删除到 AnyPublisher
let publisher = CurrentValueSubject<Int, Never>(1).eraseToAnyPublisher()
let c = publisher.sink(receiveValue: { int in
print(int)
})
上面的代码会立即打印出1,因为这是CurrentValueSubject的当前值。
【讨论】: