У меня есть состояние в операционной системе SwiftUI Ma c, в которой хранится мой активный выбор вида навигации. Все работает с навигацией.
Теперь я создал новый class
, который подтверждает Observable Object
. В некоторых дочерних представлениях я внесу изменения в этот объект. Когда изменение выполнено, мое представление Navigation также обновило объект, что, насколько я понимаю, является особенностью Observable Object.
То, чего я сейчас хочу достичь, - это то, что объект Observable изменяет мои @State
в мой вид навигации.
Это мое объявление в моем окне навигации. UserData хранит int
также, который должен быть установлен на selection
при изменении.
@EnvironmentObject var userData: UserData
@State var selection: Int?
Таким образом, userData.active = 2
, должен также установить selection = 2
. Есть ли событие onChange, которое я могу вызвать?
Я использую это @State selection
для привязки в моей навигационной ссылке.
NavigationLink(destination: SecondContentView(), tag: 0, selection: self.$selection)
{
Второй подход , будет использовать это userData.active : Int
непосредственно как State
. Тем не менее, я передаю это selection
State
как Binding
, и это дает мне ошибку при передаче переменной EnvironmentObject
как Binding
.
Любая помощь приветствуется:)