我使用CoreData將數據存儲在iPhone應用程序中。存儲的數據旨在表示一棵樹,每條記錄都是一個節點(帶有指向其父節點的指針)。當用戶瀏覽這棵樹時,我將當前父代和當前的子代集緩存在一個NSArray中。我最初認爲這是有道理的,因爲它可以允許更快地訪問兄弟節點(當數據在UITableView中呈現並且用戶滾動時很有用)。我覺得每次需要下一個孩子時使用CoreData執行「獲取所有孩子」查詢將是低效的(即,我將對n個孩子進行n次相同的查詢,並且每次只返回第i個結果)。是否需要緩存從CoreData返回的數據?
現在,我不太確定這是必要的也不聰明(主要是因爲我瞭解到CoreData是一個我還沒有完全理解的野獸)。
有誰知道這是否是好的做法?我知道CoreData可以免費做很多事情,包括緩存結果,但是因爲我知道我的數據將像樹一樣使用,我的實現(或其他一些CoreData之外的緩存實現)會更有效嗎?