有什么方法可以强制核心数据使用在托管对象模型中创建的特定索引?
在有关核心数据最佳实践(https://developer.apple.com/videos/play/wwdc2018/224/?time=1700)的WWDC 2018视频中,在构建indexed:by:
时使用了函数NSPredicate
,该函数告诉SQLite查询优化器强制选择给定索引。 / p>
let longPredicate = NSPredicate(format: "indexed:by:(longitude, \"byLocation\") between { %@, %@ }",
argumentArray: [ 109.93333333333334, 134.75 ])
let latPredicate = NSPredicate(format: "indexed:by:(latitude, \"byLocation\") between { %@, %@ }",
argumentArray: [ 20.233333333333334, 53.55 ])
fetchRequest.predicate = NSCompoundPredicate(type: NSCompoundPredicate.LogicalType.and,
subpredicates: [ latPredicate, longPredicate])
对于常规的提取请求,我如何使用indexed:by:
函数?