如何在 SwiftUI/Combine 中将订阅者附加到状态或绑定?
How to attach subscriber to State or Binding in SwiftUI/Combine?
使用 Combine Publisher
,我可以使用以下代码在值更改时调用闭包:
let cancellable = x.sink { value in … }
如何使用标记为 @State
或 @Binding
的变量实现相同的行为?
更新
下面的答案似乎不再有效,相反可以在 属性
上使用 .onChange(of:)
.onChange(of: someProperty) { value in
//use new value for someProperty
}
您可以像使用任何普通 属性
一样使用 willSet
和 didSet
@State private var someProperty: String {
didSet {
}
willSet {
}
}
使用 Combine Publisher
,我可以使用以下代码在值更改时调用闭包:
let cancellable = x.sink { value in … }
如何使用标记为 @State
或 @Binding
的变量实现相同的行为?
更新
下面的答案似乎不再有效,相反可以在 属性
上使用.onChange(of:)
.onChange(of: someProperty) { value in
//use new value for someProperty
}
您可以像使用任何普通 属性
一样使用willSet
和 didSet
@State private var someProperty: String {
didSet {
}
willSet {
}
}