Можно ли использовать свойство родительского объекта в NSPredicate для NSFetchRequest? - PullRequest
1 голос
/ 10 февраля 2011

У меня есть объект A, подобный следующему:

@interface A : NSManagedObject
{
}

@property (nonatomic, retain) NSString *stringProperty;

, у которого есть подраздел B, подобный этому:

@interface B : A
{
}

Я хотел бы выполнить выборку для B, используя свойствохранится в A. Примерно так:

NSManagedObjectContext *context = [delegate mainManagedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"B"     inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"stringProperty = %@", someString];
[request setPredicate:pred];

Возможно ли это?В настоящее время я получаю следующую ошибку:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath stringProperty not found in entity <NSSQLEntity B id=26>'

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Я только что попробовал подобный пример в последнем SDK (4.3), и теперь он работает.Теперь я могу использовать свойства родительских объектов в предикате для субъекта.

0 голосов
/ 29 марта 2011

Вам нужно позвонить superentity? т.е.

[NSPredicate predicateWithFormat:@"superentity.stringProperty = %@", someString];

Или вы можете получить объект A и setIncludesSubentitles:YES для запроса на выборку.

...