首页 > 解决方案 > 如何使用单例类中的枚举状态在 Swift UI 中触发视图中的警报

问题描述

假设一个单例类有一个关于登录状态的枚举,如下所示:

@Published var loginState: LoginState = .unknown

单例类实例在 View 中分配为 an@ObservedObject以从其他变量中获取更改,@Published如下所示:

struct LoginView: View {
    @ObservedObject var loginDelegate = Singleton.shared

loginState当单例设置为某个枚举案例(例如)时,如何使用以下内容在视图中触发警报.error

}.alert(isPresented: <something> ) { ... }

标签: swiftswiftui

解决方案


尝试以下

}.alert(isPresented: .constant(loginDelegate.loginState == .error)) { ... }

但是您需要重新设置loginDelegate.loginState.unknown警报关闭按钮操作,否则警报可能会立即重新出现。


推荐阅读