2011-04-06 80 views
0

我有一個應用程序,用戶可以在其中選擇要顯示的位置的特定主題。我將選定的主題objectID存儲在NSUserDefaults中,以便重新啓動應用程序時,所選主題仍將保持不變。存儲NSManagedObjectID與NSManagedObject

在整個應用程序中,我會回顧這個選定的主題。我目前有一個類變量來保存objectID,但我有時需要檢索對象本身的屬性(即name屬性)。爲此,我從核心數據中檢索對象,然後訪問我的值。

我很擔心這樣做所需的處理時間,所以我的問題 - 什麼是更好的選擇...?

1)將objectID存儲在內存中,並在每次需要訪問屬性時查詢核心數據以檢索對象。我認爲這樣更便宜,因爲我的內存使用量更少,但處理成本更高。

2)將actaul ojbect存儲在內存中,然後隨時訪問該對象。我認爲這在處理意義上更便宜,但在內存使用上可能更昂貴。

回答

4

這不會有問題。 Core Data根據其ID檢索單個對象所花費的時間將實際爲0.單個管理對象所使用的內存量(假設該對象不包含一堆圖像數據元素)正在進行可以忽略不計。

根據您最容易實施和最容易維護的決定做出決定。性能不會是一個因素。我目前正在研究一個在Core Data中存儲數百個HTML頁面的應用程序,並且我正在不斷讀取/寫入/修改這些對象,而且沒有任何明顯的延遲時間。

+0

感謝您的迴應,非常有幫助! – Gshock 2011-04-07 12:53:03