0

我有一个包含字典数据源数组的表格视图。现在我想在这个表中做一个过滤器,但我希望能够过滤 5 个不同的字段,比如姓名、号码、电子邮件等。

我该怎么做?我找到了一种在数组中执行此操作的方法,但我不知道如何在字典上进行操作。

4

2 回答 2

1

如果你想过滤一个字典数组,只需使用 filteredArrayUsingPredicate: 如下所示:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF.name = %@",@"Fabio"];
NSArray *filtered = [myArray filteredArrayUsingPredicate:pred];

这将为您提供一个数组,其中所有字典都将具有 Fabio 的名称值。

编辑后:如果您想进行更广泛的搜索,您可以在谓词中添加一个“OR”,如下所示:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF.name = %@ OR SELF.email BEGINSWITH[c] %@",@"Fabio",@"fabio"];

这将为您提供名称为 Fabio 的任何字典,或者电子邮件以 fabio 开头(或 Fabio,[c] 参数意味着它将匹配大写或不匹配)。

于 2012-11-12T17:36:14.563 回答
0

NSPredicateFilter根据您单击的列使用。

于 2012-11-12T17:35:56.633 回答