私のデータモデルには、Details
とLookup
という2つのエンティティがあります。特定の属性値を持つ特定のLookup
オブジェクトに関連するすべてのDetails
オブジェクトを見つけて、取り出した結果コントローラを介してそれらのオブジェクトを返す必要があります。コアデータ:別のエンティティのオブジェクトを返す述語
マイNSManagedObjectSubclasses:
@interface Details : NSManagedObject {
@privateI
}
@property (nonatomic, retain) NSString * owner;
@property (nonatomic, retain) NSString * introduction;
@property (nonatomic, retain) NSString * id;
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * created;
@property (nonatomic, retain) NSString * modified;
@property (nonatomic, retain) NSNumber * type;
@property (nonatomic, retain) NSString * desc;
@interface Lookup : NSManagedObject {
@private
}
@property (nonatomic, retain) NSDate * search_date;
@property (nonatomic, retain) NSString * search_phrase;
@property (nonatomic, retain) NSSet* searchResults;
私はそのsearch_phrase
属性に基づいてLookup
オブジェクトを検索し、関連するすべてのDetails
オブジェクトを取得し、フェッチ結果コントローラでそれらを返却する必要があります。
まず、Lookup
オブジェクトを検索してから、DetailオブジェクトのNSSetを処理する必要があると思いますが、NSFetchedResultsControllerのNSSetを返す方法はわかりません。
私が試してみた:
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"search_phrase = %@", self.searchPhrase];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
fetchRequest.predicate = predicate;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Lookup" inManagedObjectContext:self.context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"search_phrase" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.context sectionNameKeyPath:nil cacheName:@"Searches"];
私は右のLookup
オブジェクトを見つけ、要求を持っているが、私は、フェッチ結果コントローラから関連Detail
オブジェクトを取得する方法がわかりません。
なぜ投票が停止するのですか? – user7865437
元の質問は、不明瞭で不完全だったので、投票されました。誰にでもあなたが必要なものを見つけ出すのは難しかったです。私は、より有用な質問をするための追加情報を編集しました。 – TechZen
ああ、私の自己をもっと鮮明にするために、次回はもっと頑張ります。 – user7865437