0

我使用 Core Data 在我的应用程序中存储对象。基本上我存储对用户有价值的对象,例如用户喜欢的东西或他想去的地方。这些对象中的每一个都与用户本人之间存在隐藏的关系。一切都是合乎逻辑的。但是现在我想存储(缓存)一些不直接链接到用户的数据,例如搜索请求的结果。这些对象大多只在一个特定的地方使用,并且可能有一些过期时间,比如缓存或类似的东西。所以我需要存储这些对象,但将来可以将它们从存储中删除。问题是这些物品与我的贵重物品属于同一实体。另一件事是这些非有价值的对象和一些有价值的对象之间可能存在关系。

存储这些无价值对象的最佳方法是什么,最重要的是,从它们中清除 Core Data Storage?

4

1 回答 1

0

这取决于您需要这些物品的用途。
基本上,这些是具有到期日期的项目(临时对象),您可以在每个对象上使用时间戳,或者您可以创建一个与您可以查询和删除的项目相关的新实体(一对一关系)在您指定的条件下。
当您打开商店协调器时,您可能有一个清理规则(您需要实施),它将在后台运行并删除不再相关的项目(确保不向用户显示它们,或者在何时访问它们您执行清理)。
尝试将您的清理工作保持在后台,并在不会打扰用户的时候执行。
在我自己看来,最好将项目标记为隐藏,然后立即删除它们,因为删除是一项可能会阻塞 UI 的繁重操作。也尽量减少你的删除(不是一次所有的对象,而是小批量的对象)

于 2013-04-15T11:39:05.057 回答