適切な NSPredicate を作成する際に非常に問題があります。次のモデル構造があります(関連するモデルの一部のみが表示されています)
ご覧のとおり、親エンティティから継承された 4 つの AttributeValue エンティティがあります。次に、述語を使用してリクエストを実行する必要があります。
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"Entity" inManagedObjectContext:managedObjectContext];
[request setIncludesPropertyValues:NO];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY attributeValues.value = %@",@"Certain value"];
[request setPredicate:predicate];
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];
そしてもちろん、このリクエストは例外を引き起こします:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath attributeValues.value not found in entity <NSSQLEntity Entity id=11>'
***
基本エンティティには実際には属性がないためvalue
です。状況を回避する方法はありますか?エンティティ側からこの方法で正確にデータを入力する必要があります。