6

iPhone Core Data プロジェクトのデフォルトの Xcode テンプレートをチェックアウトしています。フェッチされた結果コントローラーを返すメソッドでは、次のように表示されます。

- (NSFetchedResultsController *)fetchedResultsController {

    ...

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
    ...

    return fetchedResultsController;
}    

特定のエンティティ名を設定しているようです。複数のエンティティがある場合はどうなりますか? 2 つの NSFetchedResultsController インスタンスがあり、使用しているエンティティに応じて正しいコントローラーを返す 2 つのメソッドがあるでしょうか?

ありがとう

4

1 に答える 1

6

場合によります。

たとえば、Person から継承する Person エンティティと Employee エンティティがある場合、Person と Employees の両方をフェッチする Person エンティティに対して 1 つの NSFetchedResultsController を使用できます。ただし、Fruit エンティティと Person エンティティのようなものがある場合 (および Person が Fruit から継承されず、その逆も同様)、Fruits と Person を取得するために 1 つの NSFetchedResultsController を使用できる可能性は低いです。

1 つ以上の NSFetchedResultsController が必要かどうかは、エンティティの継承階層によって異なります。

于 2010-02-21T20:29:08.950 に答える