У меня есть модель с сущностями категории, статуса и элемента (и по какой-то причине она огромна):
Я хочу сохранить NSFetchedResultsController для всех объектов Category, у которых есть хотя бы один элемент со статусом «открыто» или «куплено». Я так много искал и могу найти тонны CoreData для множества потоков отношений, но, похоже, не могу найти что-то подобное.
Мне нужно предикатное вмешательство - мое в настоящий момент выдает исключение, потому что я пытаюсь использовать отношение ко многим незаконно:
'NSInvalidArgumentException', reason: 'to-many key not allowed here'
Вот мой код в его нынешнем виде (плохой код, плохой!):
lazy var searchHeaderController: NSFetchedResultsController<Category> = {
let request = Category.createFetchRequest()
request.predicate = NSPredicate(format: "items.status.name == 'open' || items.status.name == 'purchased'")
let sort = NSSortDescriptor(key: "sortOrder", ascending: true)
request.sortDescriptors = [sort]
let fetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: mainContext, sectionNameKeyPath: "sortOrder", cacheName: nil)
do {
try fetchedResultsController.performFetch()
} catch {
fatalError("Big bummer yo! Error with performFetch in searchHeaderController() Error: \(error)")
}
return fetchedResultsController
}()
Спасибо за любую помощь!