【发布时间】:2018-04-16 01:12:36
【问题描述】:
我在实现扩展函数以确定实体是否包含任何结果时遇到了一些麻烦。最终目标是确定一个实体是否有结果,如果没有,则在应用启动时将其播种(对于某些实体,例如国家/地区列表等...)
这是我能够得到的地方,但是 swift 编译器并不满意;错误:类型“T”不符合协议“NSFetchRequestResult”
extension NSManagedObject {
func isEmpty<T>(context: NSManagedObjectContext, entityName: String, entityType: T.Type) -> Bool {
do {
let fetch = NSFetchRequest<T>(entityName: entityName)
let count = try context.fetch(fetch)
return count == 0 ? true : false
} catch {
return true
}
}
}
【问题讨论】: