【问题标题】:NSPredicate Filter Children Objects Return ParentNSPredicate 过滤子对象返回父对象
【发布时间】:2015-03-10 11:00:58
【问题描述】:

我正在尝试过滤以下 NSArray 形式的 JSON 对象示例。

[
   {
       "Name": "Andrew",
       "Age": 28,
       "Pets": [
          {
              "Name": "Domino"
          },
          {
              "Name": "Sheldon"
          }
       ]
   },
   {
       "Name": "Matthew",
       "Age": 26,
       "Pets": [
          {
              "Name": "Shadow"
          },
          {
              "Name": "Mojo"
          }
       ]
   }
]

我想过滤 Pets.Name 包含字符串 "Sha" 的位置

鉴于此谓词,我希望结果匹配为:

[
   {
      "Name":"Matthew",
      "Age":26,
      "Pets":[
         {
            "Name":"Shadow"
         }
      ]
   }
]

有什么简单的方法可以做到这一点?

 NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"Pets.Name == %@", searchText];
 NSArray *temp = [MY_ARRAY filteredArrayUsingPredicate:filterPredicate];

【问题讨论】:

    标签: objective-c arrays nspredicate


    【解决方案1】:

    像这样使用 ANY SQL 命令:

    NSPredicate* predicate = [NSPredicate predicateWithFormat:@"ANY Pets.Name == %@", searchText];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      相关资源
      最近更新 更多