【发布时间】:2018-01-05 14:37:55
【问题描述】:
我想使用 iOS10 中引入的新 Core Data API。
@available(iOS 10.0, *)
open class func fetchRequest() -> NSFetchRequest<NSFetchRequestResult>
我创建了获取各种对象的通用函数:
func getAllEntities<T: NSManagedObject>(ofType type: T.Type, success: @escaping ([T]) -> ()) throws -> [T] {
let fetchRequest: NSFetchRequest<T> = T.fetchRequest()
let asyncFetchRequest = NSAsynchronousFetchResult(fetchRequest: fetchRequest) { result in
success(result.finalResult ?? [])
}
try databaseStack.persistentContainer.viewContext.execute(asyncFetchRequest)
}
但在let fetchRequest: NSFetchRequest<T> = T.fetchRequest() 行中我遇到了问题:
无法将
'NSFetchRequest<NSFetchRequestResult>'类型的值转换为指定类型'NSFetchRequest<T>'
我做错了什么?
【问题讨论】:
-
我也有同样的问题。最奇怪的是,我有一个项目像魅力一样工作,另一个有错误,和你一样。这里:useyourloaf.com/blog/cleaning-up-core-data-fetch-requests 是我们描述的解决方案。