Как опубликовать значения в основном потоке?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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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