У меня есть AppState, который можно наблюдать:
class AppState: ObservableObject {
private init() {}
static let shared = AppState()
@Published fileprivate(set) var isLoggedIn = false
}
Модель представления должна решить, какое представление отображать, основываясь на состоянии (isLoggedIn
):
class HostViewModel: ObservableObject, Identifiable {
enum DisplayableContent {
case welcome
case navigationWrapper
}
@Published var containedView: DisplayableContent = AppState.shared.isLoggedIn ? .navigationWrapper : .welcome
}
Вend a HostView
наблюдает за свойством containedView
и отображает правильное представление на его основе.
Моя проблема в том, что isLoggedIn
не наблюдается с кодом выше, и я не могу понятьспособ сделать это. Я совершенно уверен, что есть простой способ, но после 4 часов проб и ошибок я надеюсь, что сообщество здесь может помочь мне.