订阅发布者时触发最后一个值?

时间:2020-06-11 03:14:41

标签: swift reactive-programming combine

我有一个AnyPublisher属性,它发出值。有人订阅时,有没有办法立即发出最后一个值,并让它从那里监听将来的值?

1 个答案:

答案 0 :(得分:1)

您应该为此使用CurrentValueSubject并将其擦除为AnyPublisher

let publisher = CurrentValueSubject<Int, Never>(1).eraseToAnyPublisher()
let c = publisher.sink(receiveValue: { int in 
  print(int)
})

上面的代码将立即打印1,因为这是CurrentValueSubject的当前值。