Objective c 搜索具有多个条件的词典数组

Objective c 搜索具有多个条件的词典数组,objective-c,cocoa-touch,nsarray,nsdictionary,Objective C,Cocoa Touch,Nsarray,Nsdictionary,我在一个国家安全局有很多法官。因为它们大约有1300个,我需要根据以下标准搜索它们: 1. Name 2. DOB 3. Type 4. Grade 5. Condition 6. PUP 7. Unit Number 下面是这样一个字典的例子: <Unit> <UnitNumber>20110501100507134</UnitNumber> <Name>01'' 2ply Mat</Name> <DOB>3/24/2

我在一个国家安全局有很多法官。因为它们大约有1300个,我需要根据以下标准搜索它们:

1. Name
2. DOB
3. Type
4. Grade
5. Condition
6. PUP 
7. Unit Number
下面是这样一个字典的例子:

<Unit>
<UnitNumber>20110501100507134</UnitNumber>
<Name>01'' 2ply Mat</Name>
<DOB>3/24/2011 12:00:00 AM</DOB>
<Type>2ply Mat</Type>
<Grade>Cull</Grade>
<Condition />
<Depth>01</Depth>
<Width>01</Width>
<Length>01</Length>
<PUP>Cable</PUP>
<Finishing />
</Unit>

20110501100507134
01''2铺层
2011年3月24日12:00:00上午
2铺垫
挑选
01
01
01
电缆
现在我正在考虑通过数组循环,搜索第一个条件,然后再次通过过滤数组循环,搜索第二个条件,依此类推。。。。 但这是7个循环,通过至少1300本字典

我的选择是什么? 谢谢

更新:好的,对于我上面列出的每个条件,我将有一个文本字段,用户将在那里指定条件,然后按下搜索按钮…(如果这使事情更清楚的话)


另外,这是针对iPhone/iPad的

有一种简单的方法,您可以使用它根据上面提到的条件搜索阵列


另外,如果您想以排序方式显示该数组,您应该使用。

好的,搜索大量数据总是很困难的,尤其是在iPhone/iPod上。在这种情况下,我认为您应该做的是只允许用户基于其中一个条件进行搜索,并且只需搜索包含该数据的单个数组。其中一个数组的示例可以是


排列

马特

鲍勃

mrlol

/排列

然后使用该数组中的索引号并提取有问题的字典。这可能不是最清楚的解释,如果您有疑问,请发表评论


编辑:对于之前的答案,我不认为他是在问如何比较数据,我想他需要一种方法来搜索数据,所以我不认为NSPredicate是他所寻找的。

< P>罗宾的回答是当真的,你也可以考虑使用一些内置的数据库支持,比如:

对不起,但是我很困惑,用户正在搜索这些词典吗?如果是这样的话,他输入一个字符串,然后它搜索所有的字符串并返回未过滤的结果?请解释一下。这也是针对iPhone或mac用户的吗?谢谢你的回复。用更多信息更新了我的问题。