выборка с предикатом, который проверяет, что новый экземпляр не работает

Я пытаюсь получить, используя следующий предикат:

request.predicate = [NSPredicate predicateWithFormat:@"forPeople == %@", self.people];

Когда у объекта «люди» есть отношение ко многим с объектом, который я извлекаю. Странно то, что этот предикат отлично работает со старыми экземплярами людей, но когда я создаю новый экземпляр людей (и подключаю его к экземпляру извлеченного объекта), я получаю пустой массив fetchedObjects. но если я снова запущу приложение, тот же предикат даст мне действительный массив fetchedObjects.

Я специально сохраняю и проверяю новый экземпляр людей, поэтому не знаю, в чем разница между прогонами.


person litov    schedule 20.04.2012    source источник
comment
Какой здесь тип self.people и forPeople?Расскажите немного подробнее   -  person Nikita Pestrov    schedule 20.04.2012
comment
self.people — это сущность. а forPeople — это отношение между выбранным объектом и объектом people.   -  person litov    schedule 20.04.2012
comment
Вы используете общий контекст? Или вы используете несколько контекстов?   -  person Sean Freitag    schedule 20.04.2012


Ответы (2)


Вы уверены, что сначала подключаете объекты, а затем извлекаете их? Попробуйте зарегистрировать новый entety.forpPeople после создания ir, возможно, вы просто еще не подключили его?

person Nikita Pestrov    schedule 20.04.2012
comment
Я зарегистрировался, и он подключен правильно - person litov; 20.04.2012

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

request.predicate = [NSPredicate predicateWithFormat:@"%@ IN forPeople", self.people];
person Sean Freitag    schedule 20.04.2012
comment
forPeople не является NSSet. Направление отношения ко многим состоит в том, что каждый DesiredNum (извлекаемый объект) имеет один forPeople, а каждый People имеет много DesiredNum. я так понимаю, этот предикат не работает - person litov; 20.04.2012
comment
это соглашение об именах меня немного смущает - person Sean Freitag; 20.04.2012