【问题标题】:Fire last value when subscribing to publisher?订阅发布者时触发最后一个值?
【发布时间】:2020-06-11 03:14:41
【问题描述】:

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

【问题讨论】:

    标签: swift reactive-programming combine


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 2015-06-30
      • 2016-12-14
      • 1970-01-01
      相关资源
      最近更新 更多