Базовые данные - NSP предикат для фильтрации по отношению ко многим - PullRequest
9 голосов
/ 26 марта 2010

У меня есть 2 объекта: Задача и Список. Каждая задача имеет отношение «один к одному» с объектом List, называемым «list», и существует обратная связь со списком, который имеет отношение ко многим с Task, называемым «tasks».

Я пытаюсь использовать запрос на выборку с NSPredicate, чтобы получить все объекты Task, принадлежащие указанному списку:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list=%@", theList];
[fetchRequest setPredicate:predicate];

(где "theParent" является ссылкой на объект List). Однако это не возвращает извлеченные объекты. Если я уберу предикат, то объекты будут возвращены (поэтому я знаю, что они существуют, и по NSLogging theList я знаю, что с ним связаны объекты Task).

Спасибо

1 Ответ

11 голосов
/ 26 марта 2010

Может ли это быть простой опечаткой в ​​вашем предикате?

У вас есть «list =% @», когда я предполагаю, что вы действительно хотите «list ==% @»

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list == %@", theList];
[fetchRequest setPredicate:predicate];
...