【发布时间】:2021-02-19 04:47:20
【问题描述】:
我有一个 Swift Combine 问题。假设我有一个ObservableObject,它有一些这样的属性:
class AppState: ObservableObject{
static let shared = AppState()
@Published var a: Object?
@Published var b: Object?
@Published var c = [Object]()
}
我知道如果单个对象发生如下变化,我会收到通知:
myCancellable = AppState.shared.$a.sink { a in
//Object 'a' changed
}
但是有没有办法观察多个属性并在其中任何一个发生变化时做出响应?
类似:
myCancellable = AppState.shared.[$a, $b, $c].sink { a, b, c in
//Objects 'a', 'b', or 'c' changed
}
【问题讨论】: