如何使用单例类中枚举的状态在 Swift UI 的视图中触发警报

Mar*_*uro 7 swift swiftui

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

@Published var loginState: LoginState = .unknown
Run Code Online (Sandbox Code Playgroud)

@ObservedObject单例类实例在视图中被指定为 an ,以获取其他@Published变量的更改,如下所示:

struct LoginView: View {
    @ObservedObject var loginDelegate = Singleton.shared
Run Code Online (Sandbox Code Playgroud)

loginState当单例设置为特定枚举情况(例如)时,如何使用类似以下内容在视图中触发警报.error

}.alert(isPresented: <something> ) { ... }
Run Code Online (Sandbox Code Playgroud)

Asp*_*eri 9

尝试以下操作

}.alert(isPresented: .constant(loginDelegate.loginState == .error)) { ... }
Run Code Online (Sandbox Code Playgroud)

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