Mik*_*ikk 5 crash preview swiftui environmentobject
我拥有的:View 和 ViewModel(作为 View 结构的扩展)。
它们都使用AppState类型的@EnvironmentObject。
问题是我的预览由于以下错误而崩溃:
Fatal error: No ObservableObject of type AppState found
。
注释掉loadUser
func 中的行可以避免崩溃。
struct ProfileView: View {
@EnvironmentObject var appState: AppState
@ObservedObject var viewModel = ViewModel()
...
}
Run Code Online (Sandbox Code Playgroud)
extension ProfileView {
class ViewModel: ObservableObject {
@EnvironmentObject var appState: AppState
@Published var userVM = UserVM(.example)
init() {
loadUser()
}
func loadUser() {
User.WebService.getSelf { user, errorMsg in
DispatchQueue.main.async {
guard let user = user else {
/*self.appState.showingAlert = true
self.appState.alert = Alert(
title: Text("An error occured!"),
message: Text(errorMsg ?? "unknown error"))*/
return
}
self.userVM = UserVM(user)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
struct ProfileView_Previews: PreviewProvider {
static let viewModel = ProfileView.ViewModel()
static var previews: some View {
let appState = AppState()
appState.activeScreen = .profile
return ProfileView()
.environmentObject(appState)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
520 次 |
最近记录: |