如何将同一对象类型添加为同一领域中的不同表?

人气:676 发布:2022-10-16 标签: ios realm

问题描述

我正在使用Realm缓存特定于上次搜索的特定网络数据。我也希望能够启动或固定这些数据,以保存它以备将来使用。数据对象完全相同,并且我在文档中找不到任何允许我将它们保存在领域中的单独表中的内容。

推荐答案

最简单的方法是使用不同的名称创建模型对象的子类(例如,MyDataObject及其子类MySavedDataObject)。这将在领域数据库文件中创建一个具有相同架构的新表,并使您能够区分这两种类型的对象。

然后,您可以创建普通对象的副本作为保存的对象,如下所示:

let myNewSavedObject = MySavedDataObject(value: myDataObject)
话虽如此,我个人建议使用现有数据集时效率更高一些,而不是复制数据。当然,只需向名为saved的模式添加一个额外的布尔属性,就可以简单地标记您希望保留的对象,而不需要整个第二个表。:)

336