使用多个条件搜索字典数组

use*_*064 3 cocoa-touch objective-c nsdictionary nsarray

我在NSArray中有很多NSDictioanries.由于其中大约有1300个,我需要根据以下标准进行搜索:

1. Name
2. DOB
3. Type
4. Grade
5. Condition
6. PUP 
7. Unit Number
Run Code Online (Sandbox Code Playgroud)

这是一个这样的字典的例子:

<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>
Run Code Online (Sandbox Code Playgroud)

现在我正在考虑循环遍历数组,搜索第一个标准,然后再次循环通过过滤后的数组并搜索第二个标准,依此类推....但是这是7个for循环,通过至少1300个字典.

我有什么选择?谢谢.

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

此外,这适用于iPhone/iPad

Rob*_*bin 7

那么有一个简单的方法,您可以使用NSPredicate根据您上面提到的标准搜索您的阵列.

另外作为奖励,如果要以排序方式显示该数组,则应使用NSSortDiscriptor.