Презентация Swiftui .sheet после ожидания не обновляет представление с дополнительным вводом в iOS 17IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Презентация Swiftui .sheet после ожидания не обновляет представление с дополнительным вводом в iOS 17

Сообщение Anonymous »


У меня есть проект, который использует основные данные, есть подробное представление, в котором используется наблюдаемый объект. Если я создаю новый элемент, сначала я создаю новый элемент, а затем отправляю его в подробном представлении. В 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() вернуть истину } } #Предварительный просмотр { КонтентПросмотр() }
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IOS Swift SFSafariViewController обновляет новый URL-адрес и обновляет представление
    Anonymous » » в форуме IOS
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Различие между вводом со сканера и вводом с клавиатуры в Javascript
    Anonymous » » в форуме Jquery
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • DBeaver: кнопка «Презентация» не работает — базовый браузер недоступен
    Anonymous » » в форуме Linux
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Презентация Quarto: Фоновые элементы вызываются дважды в пользовательском шаблоне CSS
    Anonymous » » в форуме CSS
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Отключить жест, чтобы снять форму/лист страницы модальная презентация
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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