NSPredicate字典数组iOS

时间:2014-08-07 10:51:09

标签: objective-c ios7 nsarray nsdictionary nspredicate

如何使用NSPredicate基于另一个字典(在数组中)内的字典的key来过滤字典数组,这是我的回复。

[
     {
         "_id" =     {
               "$id" = 53e28497e37c70d83021c830;
         };
         access = public;
     },
     {
         "_id" =     {
               "$id" = 53e28497e37c70d83021c839;
         };
         access = public;
      }
]

现在我需要根据键$id过滤此数组。我尝试了不同的谓词格式来过滤这个数组,但没有运气。我怎么能得到匹配$id的字典对象。

2 个答案:

答案 0 :(得分:1)

尝试这样,

NSArray *filtered = [array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self.id.%K == '1'",@"$id"]];

答案 1 :(得分:0)

NSString* filter = @"53e28497e37c70d83021c839";    
NSArray* res = [originArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"%K LIKE[c] %@", @"_id.$id", filter]];