Passing managedObjectContext - isso é eficiente?

Tenho um aplicativo no qual estou trabalhando. Há um controlador de navegação e meu appDelegate está passando seu managedObjectContext para o controlador raiz dos controladores de nav, da seguinte forma:

RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];
rootViewController.managedObjectContext = self.managedObjectContext;

(Questão bônus - eu li o que foi dito acima é a maneira preferida de passar o contexto, em oposição a alguns exemplos que vejo onde o controlador de exibição captura o contexto do delegado - isso está correto? Além disso, preciso liberar o rootViewController acima, ou estou correto, pois foi liberado automaticamente porque não foi criado usando alocamento ou novo?)

e qualquer forma, a visualização principal do aplicativo possui um botão - quando clicado, ele registra um carimbo de data e hora e o salva nos dados principais. O aplicativo exibe uma segunda exibição, que é onde o usuário trabalha com um subconjunto de dados. Essa segunda visualização permite que o usuário escolha ver todos os carimbos de data e hora da semana, mês ou ano atua

Meu pensamento inicial é passar o managedObjectContext do rootVC para o detailVC e executar os dados lidos e consultas no detailVC. Essa é a maneira correta de fazer isso ou é melhor executar a consulta no rootVC e passar os dados para o controlador de detalhes como uma matriz ou algo assim? Ou não faz outra diferença senão organizacional (sem diferença de desempenho) - 6 de uma, meia dúzia da outr

questionAnswers(3)

yourAnswerToTheQuestion