【发布时间】:2020-07-17 10:12:33
【问题描述】:
我正在使用 SwiftUI,并且正在尝试为我的应用实现身份验证逻辑。
我有一个带有注册按钮的 LoginView,如果我点击它,我会使用一张表格来展示 RegisterView。用户注册后,LoginView(在后台)转到 HomeView 并且 RegisterView 应该消失。问题是 RegisterView 并没有消失。
@ObservedObject var viewModel = RegisterViewModel()
@EnvironmentObject var authenticatedUser : AuthenticatedUser
@Environment(\.presentationMode) var presentationMode
ButtonWithLoadStateView(title: K.REGISTER, isLoading: self.$vm.isLoading) {
self.viewModel.isLoading = true
self.viewModel.register() { user in
self.authenticatedUser.setLogged(user) // without this IT WORKS!
self.presentationMode.wrappedValue.dismiss()
}
}
如果我删除了 authenticatedUser.setLogged 行,那么它可以工作,但它只是封装了用户并存储了一个令牌..
【问题讨论】: