【发布时间】:2020-06-28 09:32:12
【问题描述】:
我正在编写一个从网站提取数据并使用 SwiftUI 显示的应用程序。
我的主视图有一个@ObservedObject,它的类型为DataStore(),并在视图中使用:
struct ContentView: View {
@ObservedObject var store = DataStore()
var body: some View {
List(store.zones) { zone in
...
数据模型定义为:
class DataStore: ObservableObject {
@Published var zones: [SonosZone] = []
init() {
getZones()
}
func getZones() {
Api().getZones { (zones) in
self.zones = zones
}
}
}
我想每 30 秒拨打一次getZones()。我该怎么做?
我猜我在某处使用了这样的代码,但我不知道该放在哪里,也不知道如何调用闭包中的函数:
_ = Timer.scheduledTimer(withTimeInterval: 30, repeats: true) { _ in
getZones()
}
【问题讨论】:
标签: swift swiftui combine observedobject