Невозможно обновить переменную @State в SwiftUI. ⇐ IOS
-
Anonymous
Невозможно обновить переменную @State в SwiftUI.
У меня есть переменная с именем index, которая украшает @State, и я хочу обновлять значение при нажатии кнопки настройки на панели инструментов.
Блок кнопки панели инструментов выполняется, но значение индекса по-прежнему равно -1.
Я отлаживаю и проверяю значение currentIndex, оно по-прежнему равно -1.
импортировать SwiftUI импортировать SwiftData структура HomeView: Посмотреть { @State var isPresentingAddView = false Индекс @State var = -1 var body: some View { НавигационныйСтек() { VStack(выравнивание: .leading) { Разделитель() } .navigationTitle(Текст("заголовок")) .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(размещение: .topBarTrailing) { Кнопка { индекс = 1 isPresentingAddView = правда } этикетка: { Label("настройка", systemImage: "плюс") } } } } .sheet(isPresented: $isPresentingAddView) { пусть текущийИндекс = индекс } } }
Код блока кнопок панели инструментов выполняется перед кодом блока листа
У меня есть переменная с именем index, которая украшает @State, и я хочу обновлять значение при нажатии кнопки настройки на панели инструментов.
Блок кнопки панели инструментов выполняется, но значение индекса по-прежнему равно -1.
Я отлаживаю и проверяю значение currentIndex, оно по-прежнему равно -1.
импортировать SwiftUI импортировать SwiftData структура HomeView: Посмотреть { @State var isPresentingAddView = false Индекс @State var = -1 var body: some View { НавигационныйСтек() { VStack(выравнивание: .leading) { Разделитель() } .navigationTitle(Текст("заголовок")) .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(размещение: .topBarTrailing) { Кнопка { индекс = 1 isPresentingAddView = правда } этикетка: { Label("настройка", systemImage: "плюс") } } } } .sheet(isPresented: $isPresentingAddView) { пусть текущийИндекс = индекс } } }
Код блока кнопок панели инструментов выполняется перед кодом блока листа
Мобильная версия