Несколько NSFetchedResultControllers для различных объектов?

Я проверяю шаблон Xcode по умолчанию для проекта iPhone Core Data. В методе, который возвращает выбранный контроллер результата, я вижу это:

- (NSFetchedResultsController *)fetchedResultsController {

    ...

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

    return fetchedResultsController;
}    

Это, кажется, определяет определенное имя объекта. Что, Если у меня есть несколько объектов? Я имел бы 2 экземпляра NSFetchedResultsController и имел бы 2 метода, которые возвращают корректный контроллер, в зависимости от которого объекта я использую?

Спасибо

6
задан indragie 21 February 2010 в 20:22
поделиться

1 ответ

Это зависит от ситуации.

Например, если у вас есть сущность Person и сущность Employee, которые наследуются от Person, то вы можете использовать один NSFetchedResultsController для сущности Person, который будет получать и Persons, и Employees. Однако, если у вас есть что-то вроде сущности Fruit и сущности Person (и Person не наследуется от Fruit и наоборот), то маловероятно, что вы сможете использовать 1 NSFetchedResultsController для получения Fruits и Persons.

Нужен ли вам 1 или более NSFetchedResultsController, зависит от вашей иерархии наследования сущностей.

6
ответ дан 17 December 2019 в 02:27
поделиться