【发布时间】:2020-02-12 15:30:32
【问题描述】:
我想使用Combine 的@Published 属性来响应属性的更改,但它似乎在属性更改发生之前发出信号,就像willSet 观察者一样。以下代码:
import Combine
class A {
@Published var foo = false
}
let a = A()
let fooSink = a.$foo.dropFirst().sink { _ in // `dropFirst()` is to ignore the initial value
print("foo is now \(a.foo)")
}
a.foo = true
输出:
foo 现在是假的
我希望接收器在属性更改后像 didSet 观察者一样运行,以便 foo 在那时为真。是否有其他发布者发出信号,或者让@Published 像这样工作?
【问题讨论】: