我创建了一个构建 frc 的方法:
private func buildFRC<T:NSManagedObject>(entity: T, sortKey: String)
-> NSFetchedResultsController<T>? {
let fetchRequest: NSFetchRequest = T.fetchRequest()
let sortDescriptor1 = NSSortDescriptor(key: sortKey, ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor1]
searchContext.reset()
var frc: NSFetchedResultsController<T>? =
NSFetchedResultsController<T>(
fetchRequest: fetchRequest as! NSFetchRequest<T>,
managedObjectContext: searchContext,
sectionNameKeyPath: nil,
cacheName: nil)
frc!.delegate = self
try? frc!.performFetch()
return frc
}
我想在闭包中调用这样的东西:
self.frc = self.buildFRC(entity: ObjectName, sortKey: "trackName")
但我收到此错误:
“无法将 'ObjectName.Type' 类型的值转换为预期的参数类型 'NSManagedObject'”。
然而,ObjectName
是一个NSManagedObject
. 我尝试过自己,但最终我只是不停地追逐错误。