搜索NSDray对象的NSArray

Sat*_*yam 15 nsdictionary nsarray nspredicate ios

我有联系人数组,每个联系人都是字典.

每个联系人都有一个键"contact_type",它是一个NSNumber.联系人类型基本上代表它是Facebook,LinkedIn还是邮件联系人等.我的搜索数组只包含了contactNtype的NSNumber.

我想要的是制作一个临时的联系人数组,我想用我的搜索数组搜索.

我在使用NSPredicate创建搜索的联系人数组时遇到了麻烦.有人可以指导我如何做到这一点吗?

Dav*_*ong 37

NSArray *contacts = ...; //your array of NSDictionary objects
NSPredicate *filter = [NSPredicate predicateWithFormat:@"contact_type = 42"];

NSArray *filteredContacts = [contacts filteredArrayUsingPredicate:filter];
Run Code Online (Sandbox Code Playgroud)

在此之后,filteredContacts将只包含那些联系人contact_type42.

如果您需要搜索多种类型contact_type,那么只需OR在谓词中使用:

filter = [NSPredicate predicateWithFormat:@"contact_type = 42 OR contact_type = 23"];
Run Code Online (Sandbox Code Playgroud)