我正在使用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也刪除委託?
感謝