0

で をフィルタリングしようとしarrayNSPredicateいますが、常に が返されますempty array

コード:

_contentFilteredArray = [_contentArray mutableCopy];
[_contentFilteredArray filterUsingPredicate:[NSPredicate predicateWithFormat:@"special == 1"]]; // Always return an empty array.

元の _contentArray:

(
    {
    id = 1;
    special = 0;
},
    {
    id = 2;
    special = 1;
},
    {
    id = 3;
    special = 1;
},
    {
    id = 4;
    special = 0;
    }
)

_contentFilteredArray に期待すること:

(
    {
    id = 2;
    special = 1;
},
    {
    id = 3;
    special = 1;
},
)
4

2 に答える 2

2

配列内の項目が key のキー値コーディングに準拠していることを確認してくださいspecial。する

   [item valueforKey: @"special"]

期待される数値を返しますか?

于 2013-04-27T23:47:28.660 に答える
1

これを試して、従来のwithFormat方法に従ってください。

[NSPredicate predicateWithFormat:@"special == %@", @1]
于 2013-04-27T23:43:07.743 に答える