SwiftUI Показать ListView, только если CoreData Fetch Request имеет результаты - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть две сущности coreData: фонемы и фонематические группы. Каждая PhonemicGroup имеет один-ко-многим отношения с телефонами. Например, каждая группа phonemicGroup будет содержать несколько фонем. Я пытаюсь сделать так, чтобы запрос выборки был сделан и группы выводились в списке при отображении PhonemicInventoryView:

struct PhonemicInventoryView: view {

    ...

    VStack{
        VStack{
            List{
                ForEach(phonemicGroups, id: \.self){ group in
                    Text(self.getFieldValue(data: group.wrappedGroupsArray))
                }
            }
        }
    }

    ...
}

Метод getfieldValue(data: ) должен получить PhonemicGroup и прочитайте одно и то же поле для каждого объекта Phoneme, который связан с этим PhonemicGroup. Затем предполагается объединить данные String и вернуть строку для отображения TextView.

Дело в том, что представление вообще не отображается. В этом представлении есть больше, чем просто список этих полевых объектов. Также должно быть несколько кнопок и различные другие текстовые поля, чтобы пользователь мог создавать фоновые группы и фонемы. Когда я симулирую приложение из ContentView, приложение запускается просто отлично. Но когда я пытаюсь перейти к PhonemicInventoryView, ничего не появляется, только пустой белый вид.

Вид отображается , если я закомментирую List и все, что содержится внутри, так что я думаю, что это как-то связано с тем, что серверная часть базы данных CoreData в настоящий момент пуста. Следовательно, выборка данных ничего не показывает из базы данных. Но я не могу добавить какие-либо данные в базу данных, если все представление окажется пустым!

Мне кажется, что это что-то очевидное. Есть ли способ показать список, только если есть реальные данные базы данных для отображения, и что-то еще в противном случае? Что-то еще не так?

У меня уже есть управляемый объектный контекст и все другие вещи, необходимые для настройки coreData. XCode не дает мне никаких ошибок, и проект успешно построен. Он только показывает пустой белый экран, когда я активирую PhonemicInventoryView.

Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...