Ограничьте количество результатов в отношении "один ко многим" в основных данных - PullRequest
0 голосов
/ 20 июня 2020

У меня есть следующий граф объектов в основных данных.

введите описание изображения здесь

Сущность Account имеет отношение «один ко многим» с Transaction. Он указан как упорядоченный набор.

Я использую NSFetchedResultsController для отображения списка учетных записей с записями транзакций в сгруппированном табличном представлении. Когда я извлекаю объект, я хочу получить только последние 10 транзакций.

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Account")
let sortDescriptor = NSSortDescriptor(key: "name", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]

resultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: CoreDataManager.shared.persistentContainer.viewContext, sectionNameKeyPath: "name", cacheName: nil)
resultsController?.delegate = self

do {
    try resultsController?.performFetch()
} catch {
    print("Failed to create NSFetchedResultsController: \(error.localizedDescription)")
}

Поскольку NSFetchRequest предназначен для выборки Account объектов, его fetchLimit нельзя использовать для ограничения транзакций.

Как ограничить количество объектов в отношениях?

...