我正在使用NSFetchedResultsController处理UITableView,一切正常,我发现它非常强大,尤其是与结果委托一起使用。 为了深入了解表格,我重复使用了相同的控制器类,它通过单击单元格行实例化参数,然后将控制器推送到UINavigationController,并使用NSFetchedResultsController构建另一个表视图。正确使用NSFetchedResultsController缓存
此时,每个控制器都有自己的缓存,并且缓存名称由唯一标识符[NSString stringWithFormat“cacheName _%@”,uniqueStringForCell]派生,最后我显然可以拥有多个缓存。
现在的问题。
1)有很多缓存可以是一个问题?
2)我们什么时候应该使用缓存?
3)在deleteCacheWithName的情况下,放置这种方法的最佳位置在哪里?我已经在viewWillDisappear中尝试过了,但对于这种情况,我认为当视图再次出现并且缓存不再存在时(例如与UINavigationController一起使用时)可能会出现问题。可能dealloc方法是最好的地方?
4)缓存和内存管理之间有什么关系?我的意思是,当发送(void)didReceiveMemoryWarning时,是否需要删除缓存?如果是的话,那么重建它又如何呢?什么是首选方式,也许重新发布取回?
5)fetch控制器的代理设置为UITableViewController(fetchController.delegate = self),是否有任何问题?从某种意义上说,如果发生变化,会有多个控制器发出警报?并且deleteCacheWithName也删除委托?
感谢