【发布时间】:2016-05-10 18:29:54
【问题描述】:
我正在使用领域来缓存特定于上次搜索的某些网络数据。我还希望能够为这些数据加注星标或固定以保存以供将来使用。数据对象完全相同,我在文档中找不到任何可以将它们保存在 Realm 中的单独表中的内容。
【问题讨论】:
-
考虑使用单独的领域进行缓存。无论如何,在某些时候,您必须为“表”提供单独的名称,因为相同的成功可能是不同的数据库。
我正在使用领域来缓存特定于上次搜索的某些网络数据。我还希望能够为这些数据加注星标或固定以保存以供将来使用。数据对象完全相同,我在文档中找不到任何可以将它们保存在 Realm 中的单独表中的内容。
【问题讨论】:
最简单的方法是简单地创建一个具有不同名称的模型对象的子类(例如,MyDataObject 及其子类MySavedDataObject)。这将在 Realm 数据库文件中创建一个具有相同架构的新表,并让您区分这两种类型的对象。
然后您可以创建一个普通对象的副本作为保存对象,如下所示:
let myNewSavedObject = MySavedDataObject(value: myDataObject)
话虽如此,我个人建议不要复制数据,而是使用现有数据集更高效一些。当然,只需向名为saved 的模式添加一个额外的布尔属性,您就可以简单地标记您希望保留的对象,而无需整个第二个表。 :)
【讨论】: