#ios #swift #xcode #core-data
#iOS #swift #xcode #основные данные
Вопрос:
В настоящее время я экспериментирую с ОСНОВНЫМИ данными и пытаюсь запросить запрос основных данных в соответствии с их родительскими отношениями. У меня есть две сущности, у меня есть объект задачи (отношение: task.category) и категория (отношение: category.tasks).
В настоящее время у меня возникают проблемы с выборкой задач в соответствии с их отношениями родительской категории.
struct CategoryCard
@Environment(.managedObjectContext)
var context: NSManagedObjectContext
var predicate : String
var category : Category! // 1. Category is Passed in
@FetchRequest(entity: Task.entity(), sortDescriptors: [NSSortDescriptor(key: "date", ascending: true)],
predicate: NSPredicate(format: "task.parentCategory == %@", category.title!),
animation: .spring()
)
var results : FetchRequest<Task>
В настоящее время я получаю сообщение об ошибке: невозможно использовать элемент экземпляра ‘category’ в инициализаторе свойств; инициализаторы свойств запускаются до того, как будет доступно ‘self’
Я также пытаюсь отобразить эти результаты с помощью цикла ForEach.
ForEach(results, id: .self) { task in
Text("(task)")
}
Кроме того, эта структура представления карты вызывается с использованием цикла ForEach из другого файла.
ForEach(categoriesResults, id: .self) { category in
CategoryBoxView(category: category)
}
Как мне подойти к решению этой проблемы?
Ответ №1:
Доступ к задачам из категории, которая передается, вам не нужен запрос на выборку или свойство для задач
ForEach(self.category.tasks, id: .self) { task in
Text("(task)")
}