【问题标题】:Using predicates to search nested arrays in iOS 5在 iOS 5 中使用谓词搜索嵌套数组
【发布时间】:2012-04-29 05:01:25
【问题描述】:

我有一个地址簿联系人字典数组,每个名称的字典都包含一个名称字符串和一个电子邮件地址数组。这是我记录联系人数组时 NSLog 输出的 sn-p:

{
    emails =         (
        "something@yahoo.com"
    );
    name = "Some Name";
},
{
    emails =         (
        "john.public@gmail.com",
        "john@public.name"
    );
    name = "John Q. Public";
},
[etc.]

我想使用谓词按电子邮件地址搜索这些词典,返回至少有一个与搜索词匹配的电子邮件地址的所有条目。

到目前为止,我已经尝试过this question中描述的方法,只是使用CONTAINS,像这样:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"emails CONTAINS[c] %@", searchString];

但任何搜索都只返回一个空数组。如果我改为搜索名称字段,就像这样,它可以正常工作:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS[c] %@", searchString];

所以我很确定它专门用于搜索数组。想法?

【问题讨论】:

    标签: iphone ios ios5 nspredicate predicate


    【解决方案1】:

    嗯,我想通了。这有效:

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY emails CONTAINS[c] %@",currentString];
    

    谢谢你成为我的橡皮鸭,所以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多