0

我正在尝试过滤一个arraywith NSPredicate,但它总是返回一个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 回答