Презентация Swiftui .sheet после ожидания не обновляет представление с дополнительным вводом в iOS 17 ⇐ IOS
Презентация Swiftui .sheet после ожидания не обновляет представление с дополнительным вводом в iOS 17
У меня есть проект, который использует основные данные, есть подробное представление, в котором используется наблюдаемый объект. Если я создаю новый элемент, сначала я создаю новый элемент, а затем отправляю его в подробном представлении. В ios16 все работало хорошо, в ios 17 кажется, что представление не читает созданную переменную (она равна нулю и вылетает). Чтобы понять проблему, я упростил ее с помощью простого кода. Я понял, что если я поставлю if переменная != nil, это заставит обновить представление, и TestVar2View(variable:variable!) теперь использует правильную заполненную переменную. XCODE 15.0 iOS 17.0
struct TestVar2View: Просмотр { переменная var: строка var body: some View { Текст(переменная) } } структура ContentView: Просмотр { @State var isOn = false @State var show = false Переменная @State var: строка? var body: some View { VStack (интервал: 20) { Text("\(isOn ? "on":"off")") //********************* //При ЭТОМ ВСЕ РАБОТАЕТ // если переменная != ноль { // Текст("черт") // } //********************* Кнопка (действие: { Задача {//АВАРИЯ isOn = правда переменная = ожидание createString() показать = правда } }, этикетка: { Text("Сбой ВЕРСИИ 1") .смелый() }) Кнопка (действие: { Задача { //РАБОТАЕМ isOn = ожидание createOnAndString() показать = правда } }, этикетка: { Текст("ВЕРСИЯ 2 ОК") .смелый() }) } .sheet(isPresented: $show, содержание: { НавигацияВью { ВСтек { Text("ЛИСТ \(isOn ? "on":"off")") TestVar2View(переменная: переменная!) // ВЕРСИЯ 1, переменная сбоя = ноль .id(переменная) //не работает } } }) } func createString() асинхронно -> String { пытаться? ждут Task.sleep(наносекунд: 1_000_000_000) вернуть «СОЗДАНО» } func createOnAndString() async -> Bool { переменная = ожидание createString() вернуть истину } } #Предварительный просмотр { КонтентПросмотр() }
У меня есть проект, который использует основные данные, есть подробное представление, в котором используется наблюдаемый объект. Если я создаю новый элемент, сначала я создаю новый элемент, а затем отправляю его в подробном представлении. В ios16 все работало хорошо, в ios 17 кажется, что представление не читает созданную переменную (она равна нулю и вылетает). Чтобы понять проблему, я упростил ее с помощью простого кода. Я понял, что если я поставлю if переменная != nil, это заставит обновить представление, и TestVar2View(variable:variable!) теперь использует правильную заполненную переменную. XCODE 15.0 iOS 17.0
struct TestVar2View: Просмотр { переменная var: строка var body: some View { Текст(переменная) } } структура ContentView: Просмотр { @State var isOn = false @State var show = false Переменная @State var: строка? var body: some View { VStack (интервал: 20) { Text("\(isOn ? "on":"off")") //********************* //При ЭТОМ ВСЕ РАБОТАЕТ // если переменная != ноль { // Текст("черт") // } //********************* Кнопка (действие: { Задача {//АВАРИЯ isOn = правда переменная = ожидание createString() показать = правда } }, этикетка: { Text("Сбой ВЕРСИИ 1") .смелый() }) Кнопка (действие: { Задача { //РАБОТАЕМ isOn = ожидание createOnAndString() показать = правда } }, этикетка: { Текст("ВЕРСИЯ 2 ОК") .смелый() }) } .sheet(isPresented: $show, содержание: { НавигацияВью { ВСтек { Text("ЛИСТ \(isOn ? "on":"off")") TestVar2View(переменная: переменная!) // ВЕРСИЯ 1, переменная сбоя = ноль .id(переменная) //не работает } } }) } func createString() асинхронно -> String { пытаться? ждут Task.sleep(наносекунд: 1_000_000_000) вернуть «СОЗДАНО» } func createOnAndString() async -> Bool { переменная = ожидание createString() вернуть истину } } #Предварительный просмотр { КонтентПросмотр() }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
IOS Swift SFSafariViewController обновляет новый URL-адрес и обновляет представление
Anonymous » » в форуме IOS - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Презентация Quarto: Фоновые элементы вызываются дважды в пользовательском шаблоне CSS
Anonymous » » в форуме CSS - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-