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

Опитвам се да извлека, използвайки следващия предикат:

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 е връзка от извлечения обект към обекта хора   -  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