核心數據具有內置緩存機制,並自動將其用於對象提取和錯誤相關操作,但我找不到任何有關修改此默認緩存行爲的文檔或文章。 有沒有辦法增加或減少Core Data的默認緩存? 我正在考慮製作一種容量爲NSManagedObject
的容器,以減少從持久存儲中加載數據的開銷,但不確定這是不是一個好主意。如何調整Core Data的默認緩存的行爲或大小?
0
A
回答
1
據我所知,CoreData不公開任何通用API來控制其緩存行爲。
可以通過使用控制給定上下文的對象圖的大小:
[context refreshObject:<obj> mergeChanges:NO];
或由正在重置上下文完全:
[context reset];
您打算構建的容器聽起來像是NSPersistentStoreCoordinator
,它是保存對象的緩存/快照或給定的NSManagedObjectContext
中的註冊對象。
在我看來,沒有理由爲CoreData「推出自己的」緩存,因爲這正是您使用該框架免費獲得的內容。
您的容器必須保持上下文(不能在上下文之間共享對象)和對象ID鎖定對象,因此該效果將與調用[context objectRegisteredForID:<objectID>];
或訪問上下文當前現有對象的其他方法相同。
如果需要在上下文之間傳輸瞬態屬性,並且重新計算它們或從頭開始獲取它們的值,則需要一個容器。
相關問題
- 1. CarrierWave:調整默認圖像的大小
- 2. 默認的窗體大小調整行爲
- 3. 的UITextView與滾動動態調整大小設置爲默認
- 4. 緩存和調整圖像大小而不縮小或拉伸?
- 5. 使用Core Animation調整UIImageView的大小
- 6. 如何在緩存之前調整SDWebImage的大小,考慮UIImageView的大小
- 7. jqueryui緩存調整大小alsoresize
- 8. 缺少緩存標頭的IE 8默認緩存行爲
- 9. ChartJS不斷調整大小畫布到默認大小
- 10. JSplitPane調整大小行爲
- 11. CALayer調整大小緩慢
- 12. 如何更改volley中的默認磁盤緩存行爲?
- 13. 如何傳播subview調整大小爲superview調整大小?
- 14. 圖像大小調整,每次重新裁切或緩存?
- 15. 如何處理可以調整大小或未調整大小的Python對象
- 16. 使用.NET Core調整圖像大小?
- 17. 如何更改Android中的默認視頻緩衝區大小
- 18. 默認大小
- 19. Tomcat 6默認緩衝區大小
- 20. 默認大小
- 21. 如何爲Core Data模型對象自動生成默認的UITableView?
- 22. 更改WordPress中的默認圖像調整大小尺寸
- 23. 調整Xcode 4中NSTextField的大小以適應默認字體?
- 24. 如何在調整列大小時調整dxDataGrid的大小
- 25. 調整大小的JavaFX佈局行爲
- 26. 調整大小時的relloc行爲
- 27. TabHost中的WebView - 緩慢調整大小
- 28. 爲什麼BufferedReader 8192的默認字符緩衝區大小?
- 29. DBS爲什麼不自動調整/調整緩衝區大小?
- 30. 調整窗口大小時自動調整TableLayoutPanel行的大小