Как управлять множественным представлением коллекции, используя NSFetchedResultsController - PullRequest
0 голосов
/ 07 декабря 2018

Я создаю коллекцию на основе collectionView, которая должна отображать изображения из данных Core.

Я использую NSFetchedResultsController для извлечения и заполнения данных.Моя модель выглядит следующим образом:

+-----------+-------------+
| Attribute | Type        |
+-----------+-------------+
| data      | Binary Data |
+-----------+-------------+
| date      | Date        |
+-----------+-------------+
| isPinned  | Boolean     |
+-----------+-------------+

Инициализация FetchedResultsController:

private func initializeFetchedResultsController() {
    let request = NSFetchRequest<BaseMediaEntity>(entityName: BaseMediaEntity.className)
    let dateSort = NSSortDescriptor(key: "date", ascending: false)
    request.sortDescriptors = [dateSort]
    request.fetchBatchSize = 20

    let moc = DBManager.manager.dataStack.managedObjectContext
    fetchedResultsController = NSFetchedResultsController(fetchRequest: request,
                                                          managedObjectContext: moc,
                                                          sectionNameKeyPath: "groupByMonth",
                                                          cacheName: nil)
    fetchedResultsController.delegate = self

    do {
        try fetchedResultsController.performFetch()
    } catch {
        fatalError("Failed to initialize FetchedResultsController: \(error)")
    }
}

И groupByMonth - это просто строка в месячном формате от даты, поэтому галерея сортируется по месяцам.Мой вопрос:

Мне нужно реализовать закрепленный раздел всех изображений, которые были установлены на isPinned = true в верхней части представления коллекции.Можно ли установить несколько sectionNameKeyPaths?или как я могу решить эту проблему?спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...