我正在编写一个从网站中提取数据并使用 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
}
}
}
我想getZones()
每 30 秒打一次电话。我该怎么做呢?
我猜我在某处使用了这样的代码,但我不知道把它放在哪里,或者如何在闭包中调用函数:
_ = Timer.scheduledTimer(withTimeInterval: 30, repeats: true) { _ in
getZones()
}