NSPredicate для фильтрации всех элементов, которые находятся в другом наборе

Есть ли способ сделать это? У меня есть набор элементов, который я хочу исключить из другого набора. Я знаю, что могу перебирать каждый элемент в моем наборе и добавлять его в свой filterSet только в том случае, если его нет в другом наборе, но было бы неплохо, если бы я мог использовать предикат.

Набор исключаемых элементов не набор однотипных объектов напрямую; это набор струн; и я хочу исключить что-либо из моего первого набора, если один из атрибутов соответствует этой строке .... другими словами:

NSMutableArray *filteredArray = [NSMutableArray arrayWithCapacity:self.questionChoices.count];

BOOL found;

for (QuestionChoice *questionChoice in self.questionChoices)
{
    found = NO;

    for (Answer *answer in self.answers)
    {
        if ([answer.units isEqualToString:questionChoice.code])
        {
            found = YES;
            break;
        }
    }

    if (!found)
        [filteredArray addObject:questionChoice];
}

Можно ли это сделать с помощью предиката?

5
задан GendoIkari 3 December 2010 в 17:46
поделиться