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