NSFetchRequest,查询多个属性?

时间:2012-08-23 20:34:38

标签: iphone cocoa-touch core-data nsfetchedresultscontroller

使用NSFetchedResultsController和NSFetchRequest可以设置一个返回每个属性中最高值的查询。

例如:

Entity_001 A=F B=27 C=57
Entity_002 A=G B=23 C=98
Entity_003 A=X B=21 C=54
Entity_004 A=K B=11 C=27
Entity_005 A=R B=16 C=15

结果:

Entity_003 A=X B=21 C=54 // Biggest A
Entity_001 A=F B=27 C=57 // Biggest B
Entity_002 A=G B=23 C=98 // Biggest C

基本上我有一个数据集,我需要选择"最小的","最快"和#34;最重的"我可以在不使用NSFetchedResultsController的情况下手动完成,或者我想我可以使用3个NSFetchedResultsControllers并尝试将结果网格化回单个数据源。任何想法都会非常感激......

2 个答案:

答案 0 :(得分:3)

我会做3个不同的提取请求,为每个特定请求返回最高值,然后将每个特定提取请求结果的对象ID合并到一个数组中,并执行NSFetchedResultsController提取(以便从更改中获得通知)获取请求,查找数组内对象的ID。基本上,这是4次提取。三个可以在后台完成,一个用于NSFetchedResultsController实例,它将在主线程中完成。

答案 1 :(得分:1)

您是否尝试过查看KeyValue Coding