【发布时间】:2021-05-08 18:58:08
【问题描述】:
我想创建一个用于显示 loadingView 的全局变量,我尝试了很多不同的方法,但不知道怎么做。当我更改单例的布尔值时,我需要能够在整个应用程序中访问此变量并更新 MotherView 文件。
struct MotherView: View {
@StateObject var viewRouter = ViewRouter()
var body: some View {
if isLoading { //isLoading needs to be on a singleton instance
Loading()
}
switch viewRouter.currentPage {
case .page1:
ContentView()
case .page2:
PostList()
}
}
}
struct MotherView_Previews: PreviewProvider {
static var previews: some View {
MotherView(viewRouter: ViewRouter())
}
}
我尝试了下面的单例,但它不允许我更新共享实例?如何更新单例实例?
struct LoadingSingleton {
static let shared = LoadingSingleton()
var isLoading = false
private init() { }
}
【问题讨论】: