Описание моей основной модели данных:
- Объекты проекта и проблем
- Проект имеет упорядоченное отношение один-ко-многим к проблемам с именами
- Проблема имеет отношения "один к одному" с проектом с именем parentProject
Вот мой код для получения проблем:
let fetchRequest = NSFetchRequest(entityName: "Issue")
fetchRequest.predicate = NSPredicate(format: "parentProject CONTAINS[cd] %@", argumentArray: [project])
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
let frc = NSFetchedResultsController(
fetchRequest: fetchRequest,
managedObjectContext: dataManager.context,
sectionNameKeyPath: nil,
cacheName: nil)
return arc
Несмотря на то, что у меня есть все проблемы из объекта проекта, я предпочитаю получать проблемы с помощью получаемого контроллера результатов, поэтому они всегда будут обновляться, и мне нравится интеграция с таблицами. Мне также нравится это на экране контроллера навигации, прежде чем проекты будут отображаться с помощью FRC.
Как вы видите в коде, проблемы сортируются по параметру name.
Однако я бы хотел, чтобы они отсортировались по порядку, который я храню в проекте NSMutableOrderedSet.
AFAIK Я не могу использовать NSSortDescriptor со компаратором/селектором, когда он использовался для Core Data.
Вы знаете, как это сделать? Спасибо заранее.