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