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

Fire last value when subscribing to publisher?

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

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

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

上面的代码会立即打印 1 因为那是 CurrentValueSubject.

的当前值