這有點奇怪,但我想在Core Data之外存儲一個NSManagedObjects
的數組。堅持核心數據對象的一個子集
核心數據管理着我所有模型的屬性和關係。一個這樣的關係是對所有的Author
的Books
。有時候以特定順序知道同一列表是有用的,因此我已將booksByDate
(例如)添加到NSManagedObject
作者。
因爲排序描述符證明是昂貴的,所以我實現了一個緩存,使用Author
上的iVar。這對我遇到的一些滯後的UI問題有很大的幫助。但緩存僅在第一次加載後纔有用,所以當我的應用程序啓動時,我現在去告訴每個Author
緩存它的booksByDate
。這爲我的發佈時間增加了幾秒鐘,但在應用程序運行後大幅提高性能。
我想縮短髮布時間。我正在試驗的一個區域是以某種方式存儲每個Author
的緩存的booksByDate
。在發佈時,我不會告訴每個Author
使用昂貴的排序描述符來生成它的緩存,而只是將每個存儲的緩存傳遞給它正確的Author
。
我該如何存儲這些緩存,以便它們在執行之間持續存在?
這很有趣 - 我沒有考慮到它是日期部分有影響 - 我認爲它是任何排序描述符。我會試一試。不過,知道我在我的問題中提出的建議是否可行仍然很有意思。 –
我正在調查XCode的核心數據編輯器中的'索引'選項 - 在http://stackoverflow.com/questions/13022065/indexing-a-core-data-property-to-improve-nssortdescriptor-performance –
索引是一個改進,但我想你不是按照時間順序添加書籍。所以你還是要訂購它們。當然,Date比較比簡單的int比較貴得多。 – George