#ios #swift #core-data
#iOS #swift #core-data
Вопрос:
Я начал работать над приложением, которое использует CoreData
для локального хранения данных.
Теперь мне нужно извлекать записи из одной модели, используя предложение group by.
Пример. Извлекать записи, сгруппированные по статусу (Обработано, ожидание, сбой и т.д.).
fetchRequest.predicate = NSPredicate(format: "statusInt == %d",Status.sending.rawValue)
sendingFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: DBManager.shared.managedObjectContext, sectionNameKeyPath: nil, cacheName: "Master")
do {
try fetchedResultsController.performFetch()
} catch {
let nserror = error as NSError
fatalError("Unresolved error (nserror), (nserror.userInfo)")
}
Кто-нибудь может мне помочь с этим?
Комментарии:
1. Взгляните на
NSFetchedResultsController
. Это самый простой способ сделать это. Существуют различные руководства по использованию этого.2. Модель Core Data больше относится к объектам, чем к записям. Если вы хотите выполнять необработанные операции с базой данных, возможно, вам лучше использовать базу данных напрямую.
3. @Fogmeister У меня был обновленный вопрос с моим кодом
4. @SunnyShah вам нужно использовать
sectionNameKeyPath
то, что вы ищете,sections
неgroups
является. Но да, взгляните на документы для NSFRC и посмотрите наsectionNameKeyPath
параметр.5. @PhillipMills здесь нет необработанных операций с базой данных. Просто извлекаю данные из CoreData …?