[英]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.