Как указать назначение для базовых данных fetchRequest программно? - PullRequest
0 голосов
/ 03 августа 2011

Я пытаюсь выполнить запрос на выборку программно для извлечения определенных объектов из "EntityA". Однако мне нужно установить пункт назначения для запроса на выборку "EntityB", чтобы предикат работал аналогично тому, как вы будете делать это через панель инспектора в XC? Не можете понять, как установить это свойство программно, хотя?

Thx

1 Ответ

1 голос
/ 04 августа 2011

Каждый выбор имеет только одну сущность в качестве цели.Предикат для выборки может работать только с атрибутами и отношениями целевого объекта.Если вы хотите протестировать свойство другого объекта, должна быть связь между целевым объектом и другим объектом.

Предположим, у вас есть следующая модель данных:

Alpha{
  name:string
  beta<-->Beta.alpha
}

Beta{
  cost:number
  alpha<-->Alpha.beta
}

Gamma{
  date:date
}

Если ваша целевая сущность для выборки равна Alpha, тогда вы можете создать предикат, который проверяет атрибут Beta через каждуюAlpha отношение beta объекта.

NSPredicate *p=[NSPredicate predicateWithFormat:@"beta.number>5"];

... но вы не можете создать предикат, который будет обращаться к атрибуту Gamma, потому что отношения отсутствуют.

...