我有一个地址簿联系人字典数组,每个名称的字典都包含一个名称字符串和一个电子邮件地址数组。这是我记录联系人数组时 NSLog 输出的片段:
{
emails = (
"something@yahoo.com"
);
name = "Some Name";
},
{
emails = (
"john.public@gmail.com",
"john@public.name"
);
name = "John Q. Public";
},
[etc.]
我想使用谓词按电子邮件地址搜索这些词典,返回至少有一个与搜索词匹配的电子邮件地址的所有条目。
到目前为止,我已经尝试了这个问题中描述的方法,只是使用了 CONTAINS,如下所示:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"emails CONTAINS[c] %@", searchString];
但任何搜索都只返回一个空数组。如果我改为搜索名称字段,就像这样,它可以正常工作:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS[c] %@", searchString];
所以我很确定它专门用于搜索数组。想法?