Múltiplos controladores NSFetchedResultControllers para diferentes entidades?
-
22-09-2019 - |
Pergunta
Estou verificando o modelo XCode padrão para um projeto de dados do iPhone Core. No método que retorna o controlador de resultados buscado, vejo isso:
- (NSFetchedResultsController *)fetchedResultsController {
...
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
...
return fetchedResultsController;
}
Parece estar definindo o nome específico da entidade. E se eu tiver várias entidades? Eu teria 2 instâncias nsfetchedResultSController e teria 2 métodos que retornam o controlador correto, dependendo da entidade que estou usando?
Obrigado
Solução
Depende.
Por exemplo, se você tem uma entidade e uma entidade de funcionários que herda da pessoa, poderá usar um NSFETCHEDRESULTSCONTROLER para uma entidade pessoa que buscaria pessoas e funcionários. No entanto, se você tem algo como entidade de frutas e entidade pessoal (e a pessoa não herda da fruta e vice -versa), é improvável que você possa usar 1 nsFetchedResultScontroller para obter frutas e pessoas.
Se você precisa ou não 1 ou mais nsfetchedResultScontroller depende da sua hierarquia de herança da entidade.