Как опубликовать значения в основном потоке?IOS

Программируем под IOS
Anonymous
Как опубликовать значения в основном потоке?

Сообщение Anonymous »

Чтобы освоить разработку приложений на SwiftUI, я создаю простое приложение с функцией входа в систему, используя библиотеку AppAuth. У меня работают базовые функции входа и выхода из системы, и я могу сделать запрос, используя полученный токен доступа. Во время рефакторинга с целью очистки моего кода я столкнулся с фиолетовым предупреждением:

Публикация изменений из фоновых потоков не разрешена; обязательно публикуйте значения из основного потока (с помощью таких операторов, как получение(on:)) при обновлении модели.

Это мой упрощенный код:

Это мой упрощенный код:

p>

Код: Выделить всё

@main
struct MyApp: App {
@ObservedObject var authStore = AuthStore()

var body: some Scene {
WindowGroup {
if authStore.isAuthenticated {
MainView().environmentObject(authStore)
} else {
LoginView()
}
}
}
}

Код: Выделить всё

class AuthStore: ObservableObject {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

private var authState : OIDAuthState?

@Published var isAuthenticated = false // 

Подробнее здесь: [url]https://stackoverflow.com/questions/78449417/how-to-publish-values-on-the-main-thread[/url]

Вернуться в «IOS»