Извлечение предметов при сохранении порядка упорядоченных отношений - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть следующая (упрощенная) модель данных:

enter image description here enter image description here

И следующий запрос на выборку:

static func fetchRequestForItems(fromListWithName name: String) -> FetchRequest?  {

let request = Item.sortedFetchRequest

    request?.predicate = NSPredicate(format: "ANY %K.%K like %@", #keyPath(Item.lists), #keyPath(ItemList.name), name)
    request?.sortDescriptors = [NSSortDescriptor(key: "items", ascending: true)]

    return request
}

Вызывается как:

let request = Item.fetchRequestForItems(fromListWithName: "Favorites")!
let result = try! persistentContainer.viewContext.fetch(request)

Я пытаюсь получить Item s в порядке их добавления к ItemList s

Однако в настоящее время я получаю эту ошибку:

caught "NSUnknownKeyException", "[<Item 0x600003b7ff20> valueForUndefinedKey:]: the entity Item is not key value coding-compliant for the key "items"."

Кто-нибудь знает, как добиться получения правильно заказанных предметов без ошибок?

Обновление

Дополнительная справочная информация о том, почему я выполняю создание NSFetchRequest<Item> вместо NSFetchRequest<ItemList>.Причина этого заключается в том, что я надеюсь использовать извлеченный контроллер результатов типа NSFetchedResultsController<Item> и, что более важно, это метод делегата func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>, didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?), который должен давать мне indexPath в том же порядке, что и элементы ItemList.

...