【发布时间】:2021-08-01 00:10:57
【问题描述】:
我有 3 个课程:
class ClassOne: ObservableObject {
@Published var loading: Bool = false
}
class ClassTwo: ObservableObject {
@Published var loading: Bool = false
}
class ClassThree: ObservableObject {
@Published var loading: Bool = false
}
在 SwiftUI 视图中,当所有 loading 变量都是 true 时,我需要做一些事情
这当然是我的文件的简化版本:每个类的加载 var 通过下载方法设置为 true 或 false。 我只需要检查所有下载是否已完成并删除加载视图。
struct MainScreen3: View {
@State private var cancellables = Set<AnyCancellable>()
@EnvironmentObject var classOne: ClassOne
@EnvironmentObject var classTwo: ClassTwo
@EnvironmentObject var classThree: ClassThree
@State private var loading: Bool = true
var body: some View {
VStack {
if loading {
Text("Please wait...")
} else {
Text("Done!")
}
}.onAppear {
self.classOne.fetchFromServer()
self.classTwo.fetchFromServer()
self.classThree.fetchFromServer()
}
}
}
有什么建议吗?
【问题讨论】:
标签: swift combine observableobject