Как написать NSPredicate для получения всех элементов, чьи идентификаторы находятся в массиве? - PullRequest
1 голос
/ 13 сентября 2011

В моей базе данных основных данных каждый элемент имеет строковый идентификатор, который является URL-адресом, указывающим, кому принадлежит этот элемент.

Теперь у меня есть массив, который содержит, скажем, 200 URL-адресов владельцев (200 - это просто пример, он динамический в приложении). Я хочу получить все предметы, которые принадлежат 200 собственным URL.

Если только 1 владелец URL, я знаю, как написать:

[NSPredicate predicateWithFormat:@"(ownerUrl == %@)", url]

А как насчет массива URL-адресов владельцев, скажем, 200?

кстати, основные данные, которые я использую, это sql. Я думаю, что sql будет игнорировать "IN" в NSPredicate?

Спасибо

1 Ответ

3 голосов
/ 13 сентября 2011

Попробуйте это:

NSSet *urls = [NSSet setWithObjects:@"url1", @"url2", @"url3", nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K IN %@", @"ownerUrl", urls];
...