为什么要在NSFetchRequest上设置resultType属性

时间:2019-09-04 15:21:55

标签: ios swift core-data

考虑创建以NSDictionary初始化为resultType的NSFetchRequest:

let fetchRequest = NSFetchRequest<NSDictionary>(entityName: "Student")

我的问题是为什么我们仍然需要将resultType设置为NSDictionary。为什么使用NSDictionary

初始化获取请求时未自动设置此字段的原因
fetchRequest.resultType = .dictionaryResultType

同样,对于以下问题:为什么需要第二行:

let fetchRequest = NSFetchRequest<NSNumber>(entityName: "Employee")
fetchRequest.resultType = .countResultType

2 个答案:

答案 0 :(得分:1)

Core Data最初是用Objective C编写的,当时它不具有泛型。

答案 1 :(得分:0)

用于更高级的查询,例如order / group by。示例:https://stackoverflow.com/a/31972710/7715250