[英]What's the best way to limit the size of a Core Data store?
我有一個將從服務器獲取核心數據對象的應用程序。 項目的數量可能非常大。 限制Core Data存儲的項目數量的最佳方法是什么,這樣我就不會在手機上占用過多的空間? 我以為對於有序項目,在applicationWillTerminate
我可以將除前N個項目toDelete
所有項目都標記為toDelete
,然后在下次應用啟動時將其刪除(根據本文http://inessential.com/2014/02/22/core_data_and_deleting_objects )。 有什么想法嗎?
通常,哪種策略有效取決於人們如何使用您的數據。 哪些數據對保持可用更為重要? 什么不那么重要?
將前N
項目保持在有序關系中是一個簡單的規則,並且相當容易實現。 但是,它對您的應用程序是否有利取決於數據是什么,人們將如何使用它以及是否沒有其他相關對象可能很重要。 您甚至不需要toDelete
標志,只需要知道N
的值即可。 但是請記住,您不能依賴applicationWillTerminate
實際上被調用,因此放置關鍵代碼是一個不好的地方。
其他策略可能包括:
這些更為復雜,需要在持久性存儲中跟蹤日期。 只有您才能真正說出優勢是否值得這種復雜性。
不過,從一個更重要的問題開始:這是否重要? “非常大”有多少個項目? “大量”項目會轉換為大量數據還是只是少量項目?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.