我有一个包含字典数据源数组的表格视图。现在我想在这个表中做一个过滤器,但我希望能够过滤 5 个不同的字段,比如姓名、号码、电子邮件等。
我该怎么做?我找到了一种在数组中执行此操作的方法,但我不知道如何在字典上进行操作。
我有一个包含字典数据源数组的表格视图。现在我想在这个表中做一个过滤器,但我希望能够过滤 5 个不同的字段,比如姓名、号码、电子邮件等。
我该怎么做?我找到了一种在数组中执行此操作的方法,但我不知道如何在字典上进行操作。
如果你想过滤一个字典数组,只需使用 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] 参数意味着它将匹配大写或不匹配)。
NSPredicateFilter
根据您单击的列使用。