多対多の関係を持つ「カテゴリ」と「記事」という2つのエンティティがあります。 category.nameがある値と等しいすべての記事を検索する述語を作成したいと思います。私は、次があります。コアデータ:多対多関係のNSPredicate。 (ここでは多対多キーは許可されていません)
NSEntityDescription *entityArticle = [NSEntityDescription entityForName:@"Article" inManagedObjectContext:managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"categories.name == [cd] %@", category.name];
[request setSortDescriptors:sortDescriptors];
[request setEntity:entityArticle];
[request setPredicate:predicate];
NSMutableArray *results = [[managedObjectContext executeFetchRequest:request error:nil] mutableCopy];
if ([results count] > 0)
NSLog(@"Results found.");
else
NSLog(@"NO results found.");
[request release];
[sortDescriptor release];
[sortDescriptors release];
私は受信エラーが*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
で必要なデータを取得するためのいずれかのオプションがありますか?
をサブクエリはまた、あなたが必要なものかもしれません。 参照:http://stackoverflow.com/questions/11346546/core-data-unsupported-predicate-with-all-and-in – Collin