2017-03-02 17 views
3

内部辞書内の配列の配列数のために私はここでフィルタリングは、配列

[ 
    { 
     "xyz" : [Array with different values]; 
     ... many more keys    
    }, 
    { 
    .. same as above dictionary 
    } 
    ... many more dictionaries 
] 

以下のようなフォーマットの配列を持って見て、私はその中にあり、各辞書が異なるキーを持つ辞書のメインアレイを、持っています"xyz"キーであり、その値は再び配列です。今、xyzの配列がcount> 2でなければならない辞書が欲しい。

は、今私は、次の述語を試してみました:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"xyz.count>2"]; 
NSArray *filteredArray = [resultArray filteredArrayUsingPredicate:predicate]; 

が、これは-valueForKey: @"count"、その結果この場合

答えて

3

xyz is not key-value complaint for key "count"がそれぞれXYZのインスタンスに送信されて、私はこのような何かをエラー与えている、とXYZカウントに対応するキー値コーディングではありません。代わりに

、あなたはカウントが、代わりにスウィフト3.0では

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"xyz.count>2"]; 
1

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"[email protected]>2"]; 

を使用したい場合に、コレクションの数を評価するために@count演算子を使用します。

let fileterdArray = resultArray.filtered(using: NSPredicate.init(format: "[email protected]>%d", 2)) 
関連する問題