我刚开始使用Core Data和NSFetchedResultsController,现在遇到了困难。我有一个Book实体,其中有一个类型为String的category属性。这些数据被加载到集合视图中,并根据此类别分组成部分。这种方式一切都很正常,但问题是一本书应该能够出现在多个类别(和集合视图部分)中。我可以将类别的类型更改为String数组,但那么如何进行排序呢?
let request = Book.fetchedRequest() as NSFetchRequest<Book>
let categorySort = NSSortDescriptor(key: #keyPath(Book.category)), ascending:true)
request.sortDescriptors = [categorySort]
do {
fetchedResultsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: context, sectionNameKeyPath: #keyPath(Book.category)), cacheName: nil)
try fetchedResultsController.performFetch()
} catch let error as NSError {
print(“Could not fetch. \(error), \(error.userInfo)”)
}
我应该放弃使用NSFetchedResultsController吗,还是有可能使它工作?