У меня есть текстовые поля с глубиной просмотра пары. Я пытаюсь получить данные для отправки на сервер. Кто-нибудь нашел пример извлечения данных, которые глубоко вложены в представления?
Вот структура этой функции ..
символ:> NavigationLink
символ: ~ Subview
HostingViewController ~ CustomListView> FormTypeView> BuildFormView (построенный здесь ObservedObject) ~ ViewPagerView (горизонтальный список просмотров страниц) ~ FourItemCardView ~ TextFieldInputView.
Структура альтернативной структуры , чтобы помочь объяснить
- HostingViewController ~ CustomListView
- FormTypeView
- BuildFormView ~ ViewPagerView ~ FourItemCardView ~ TextFieldInputView
Когда вы нажимаете «Добавить» в ListView, вы выбираете тип формы, а затем BuildFormView создает пейджер с возможностью просмотра нескольких карт. Это встроено в ObservableObject.
В идеальном мире все мои данные будут привязаны к ..
@Published var pageCells: [PageViewCell] = [PageViewCell]()
Где я мог бы вызвать их в buildFormData1 () ..
* 1024 ObservableObject *
Мне удалось связать представление в swiftui и выполнить обратные вызовы при нажатии кнопки, но связывание представления или обратного вызова на 2-3 уровнях, похоже, не работает.
Я пробовал EnvironmentalObject, какой брейки. Я не могу использовать его в SceneDelegate, так как у меня есть HostingViewController в раскадровке. Я могу определить, где я подключаю CustomListView к HostingViewController, но это дает сбой (не могу вспомнить причину из моей головы). Даже если это сработает, получить данные, указанные c, будет сложно. Поскольку мой пейджер представления динамически изменяется, я не могу индивидуально определить каждую переменную в своем ObservedObject.
Кто-нибудь нашел пример извлечения данных, которые глубоко вложены? Я не могу избежать вложения, потому что SwiftUI ломается (ошибочная ошибка), когда у вас слишком много просмотров. Также дайте мне знать, какой код отправлять, поскольку есть тонна, которую я мог бы опубликовать, что может усложнить этот вопрос.