我有一个带有字典数据源数组的tableview。现在,我想在此表中进行过滤,但是我希望能够过滤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]参数表示匹配大小写)。

关于cocoa - cocoa -在表 View 上过滤数组NSDictionary,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13347944/

10-10 20:40