私がやろうとしていることが Core Data ではできない可能性があるので、もしそうなら教えてください。
私は ManagedObjectContext を持っており、 addPersistentStoreWithType を介してそれらを追加することにより、sqlite データベースを導入しています。. .
したがって、いくつかのデータベースを追加します。たとえば、1 ~ 5 としましょう。その後、データベース内のデータに対してフェッチを実行します。検索しているソースを言う必要がないのは素晴らしいことです。結果が戻ってきて、それらがマージされるだけです。
ただし、各結果がどのストアから出てきたのか知りたい場合はどうすればよいでしょうか? それは可能ですか?結果が見つかった「ファイル」を知りたいのと同じように、私はあまりにも「古い学校」だと考えていますか?
ヘルプ/アドバイスをいただければ幸いです。
ここにいくつかのコードがあります:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"PMBEntity"
inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"Name" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[fetchRequest setReturnsDistinctResults:YES];
[sortDescriptor release];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
上記を参照してください。XCode で作成した Core Data NSManagedObjectModel である PMBEntity があります。おわかりのように、(多くの) フィールドの 1 つが「名前」です。ここでは、すべての一意の名前を検索し、名前で並べ替えています。
私に返されるのは、これらの PMBEntity オブジェクトの NSArray です。