Код: Выделить всё
AuthSessionПосле входа я получаю токен и текущего пользователя, затем вызов:
Код: Выделить всё
authSession.login(user: user, token: token)
< /code>
authSessionЯ хочу использовать authsession.currentuser в других представлениях, но я сталкиваюсь с проблемами, когда пытаюсь использовать его в init () для инициализации @StateObjectObjectObjectOBjectOBjectObjectOBjectOBjectObject> PESIVE> PESICTOBJectOBjectOBjectOBjectObjectOBjectOBjectOBjectOBjectOBjectOBjectOBjectOBjectObject. /> Например: < /p>
Код: Выделить всё
@EnvironmentObject var authSession: AuthSession
@StateObject private var viewModel = FeedViewModel(user: authSession.currentUser!) // ❌ Error
< /code>
This forces me to defer initialization using .onAppearКод: Выделить всё
@State private var viewModel: FeedViewModel?
.onAppear {
if viewModel == nil {
viewModel = FeedViewModel(user: authSession.currentUser!)
}
}
< /code>
Что я хочу: < /h3>
[list]
[*] Поделиться Authsession < /code> по приложению < /li>
Инициализировать ViewModels, которые зависят от него (например, необходимо < /code> или пользователь < /code>) < /li> . .onapear Вопрос:
Как я могу чисто поделиться Authsession и использовать его для инициализации ViewModels без .onapear Hacks?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ween-views
Мобильная версия