我正在创建一个基于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?或者我该如何解决这个问题?谢谢!