Estoy usando un NSFetchedResultsController para tratar con una UITableView y todo funciona bien y lo encontré muy poderoso, especialmente en conjunto con el delegado de resultados. Para profundizar en la tabla reutilizo la misma clase de controlador, que se instancia con los parámetros haciendo clic en una fila de la celda, el controlador luego se empuja al UINavigationController y se genera otra vista de tabla, nuevamente con NSFetchedResultsController.Uso correcto de caché NSFetchedResultsController
En este punto, cada controlador tiene su propio caché, y el nombre de caché se deriva con un identificador único [NSString stringWithFormat "cacheName _% @", uniqueStringForCell], y al final obviamente puedo tener muchos caché.
Ahora las preguntas.
1) Tener muchos caché puede ser un problema?
2) ¿Cuándo se supone que debemos usar un caché?
3) En caso de deleteCacheWithName, ¿cuál es el mejor lugar para poner dicho método? Lo he intentado en ViewWillDisappear, pero con esto supongo que puedo tener un problema cuando la vista aparecerá de nuevo y la caché ya no está presente, por ejemplo cuando se usa con un UINavigationController. Probablemente el método dealloc es el mejor lugar?
4) ¿Cuál es la relación entre un caché y la gestión de memoria? Quiero decir, cuando se envía un mensaje (void) didReceiveMemoryWearning, ¿necesito eliminar el caché? Si es así, ¿qué hay de reconstruirlo de nuevo? ¿Cuál es la forma preferida, tal vez re emitiendo la recuperación?
5) el controlador de búsqueda tiene su delegado configurado en UITableViewController (fetchController.delegate = self), ¿hay algún problema con eso? En cierto sentido, ¿en caso de cambio, se avisa a más de un controlador? ¿Y deleteCacheWithName también elimina el delegado?
gracias