В настоящее время я работаю над своим приложением с использованием MVVM и комбинацией представлений, созданных с помощью UIKit и SwiftUI, и у меня возникли некоторые проблемы с выяснением того, как обрабатывать сетевые обратные вызовы между представлениями. Все сетевые операции выполняются с помощью Async/Await.
Мое приложение работает так: внутри представления UIKit есть кнопка, и когда вы касаетесь ее, оно отправляет вас в представление коллекции. сделано с помощью SwiftUI.
Итак, специфика моей проблемы связана, скажем, с тем, что я создаю представление коллекции с помощью LazyVGrid в SwiftUI и хочу, чтобы оно отображалось только при каждом и каждый элемент, их неизвестное количество, завершил получение данных с сервера. Прямо сейчас элементы помещаются в LazyVGrid через цикл ForEach, и, поскольку обработчик сетевого завершения отсутствует, элементы мигают от заполнителя к виду, предназначенному для завершения их сетевого вызова. Таким образом, мой первый вопрос: есть ли способ обрабатывать несколько обратных вызовов из каждого представления SwiftUI внутри цикла ForEach и обрабатывать LazyVGrid после того, как элементы завершили получение данных через сеть?
После этого как мне отправить обратный вызов, который LazyVGrid готов отобразить в представлении UIKit? Я хочу сделать это, потому что хочу разместить экран загрузки до тех пор, пока LazyVGrid не будет завершен.
Я думаю, что делаю это приложение намного сложнее, чем оно должно быть, но я решил выйти из своей зоны комфорта и попытаться поэкспериментировать с чем-то сложным с точки зрения представления.
До сих пор я пытался создать опубликованную переменную, которая увеличивается, когда элементы завершены, но, поскольку я нужно также отправить обратный вызов в представление UIKit, это бесполезно.
Спасибо, что прочитали это, и я ценю вашу помощь.
Есть хорошего дня.
Подробнее здесь: https://stackoverflow.com/questions/784 ... -and-end-a
Несколько сетевых обратных вызовов из представлений SwiftUI в представление UIKit для запуска и завершения экрана загруз ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение