Как я могу извлекать основные данные с помощью группировки?

#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 …?