NSP предикат с подмассивом - PullRequest
2 голосов
/ 15 февраля 2011

Я смотрю на следующий тип структуры данных:

{
    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 количество идентификаторов каналов, есть ли способ выполнить итерации в предикате?

Tia, S.

1 Ответ

2 голосов
/ 15 февраля 2011

Легче:

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

Предполагается, что ваше значение channelIds является массивом строк . Если это массив чисел (NSNumber), тогда ваша строка формата будет просто @"channelIds CONTAINS 7".

...