Предикаты и отдельные объекты - PullRequest
1 голос
/ 04 августа 2010

У меня есть сущность Unit и Tag, каждая из которых имеет отношение ко многим другим.

Я использую NSFetchedResultsController для управления данными.Что мне нужно, это вернуть отдельный Unit объект в NSFetchedResultsController для условия Tag.show == YES.Я не уверен, как накормить все это до NSFetchedResultsController.Установите сущность на Unit или Tag, как построить предикат для нее.

Пример:

У меня есть 6 Tag объектов tag1...tag6 и 3 объекта Unit unit1, unit2, unit3.tag1, tag2 указывают на unit1, tag3, tag4 на unit2.tag1 ... tag4 выполнено show == YES условие.Итак, я хочу наконец получить uni1 и unit2 в NSFetchedResultsController.

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Выполнить выборку для объекта Unit с предикатом "ANY Tag.show==YES".

Возвращает все Unit экземпляры, которые имеют один или несколько связанных Tag экземпляров с show==YES.Выборки возвращают различные объекты, поэтому вам больше ничего не нужно делать.

0 голосов
/ 26 января 2011

Я попробовал это на одной из моих проблем.

Если NSMutableArray заполнен объектами RSSItem, которые, среди прочего, содержат ссылку на свойство, которая является строкой NSString.

Теперь я хочу найти все объекты в массиве, ссылка на которые равна другой NSString [item link].

NSPredicate *predicate = 
      [NSPredicate predicateWithFormat:@"ANY link == '%@'", [item link]];
NSArray *filteredArray = 
      [[delegate itemArray] filteredArrayUsingPredicate:predicate];
if ([filteredArray count] > 0) {
      // IF such an object exists, do something ...
}

Разве это не то же самое, что вы пытались? Или я что-то не так понимаю в предикатах?

Привет, Dodo

...