Я сделаю следующее, используя SUBQUERY
.
[NSPredicate predicateWithFormat@"(name == %@) AND (SUBQUERY(subs, $x, $x.numbervalue == %@ or $x.numbervalue == %@).@count > 0)", @"aname", value1, value2];
Попробуйте и дайте мне знать.
Другим решением может быть захват всей коллекции subs
, а затем отфильтровать полученный набор с предикатом, чтобы проверить, соответствуют ли элементы для value1
или value2
.
Надеюсь, что это поможет.
Редактировать
Если вы следуете совету Eimantas, обязательно создайте правильный массив:
NSNumber valueA = [NSNumber numberWithInt:20];
NSNumber valueB = [NSNumber numberWithInt:90];
NSArray *arr = [NSArray arrayWithObjects:valueA, valueB, nil];