NSPredicate与子数组

时间:2011-02-14 21:55:10

标签: objective-c ios nspredicate

我正在研究以下类型的数据结构:

{
    author = "Author 1";
    channelIds =         (
        7
    );
},
{
    author = "Author 2";
    channelIds =         (
        7,
        1
    );
},
,
{
    author = "Author 3";
    channelIds =         (
        3,
        7
    );
}

我想构建一个由 channeldIds = 7 的所有项目组成的数组。

我正在尝试以下谓词:

NSPredicate * filterById = [NSPredicate predicateWithFormat:@"channelIds[0] = '7'"];
  • 我怎么能在这里做我想做的事?
  • 我可以拥有x个channelIds,有没有办法在谓词中迭代?

Tia,S。

1 个答案:

答案 0 :(得分:2)

更容易:

NSPredicate *filterById = [NSPredicate predicateWithFormat:@"channelIds CONTAINS %@", @"7"];

这假设您的channelIds值是字符串的数组。如果它是一个数字数组(NSNumber),那么您的格式字符串将只是@"channelIds CONTAINS 7"