将对象列表写入领域

时间:2016-01-29 00:58:00

标签: ios swift realm

我刚开始考虑实现Realm并且有一些新手的怀疑。

例如,我收到一个对象列表,我将其转换为领域对象。如何直接将整个列表写入Realm,而无需单独编写每个对象?

我想到了一个典型的解决方法,它将定义一个更大的对象,该对象包含此列表作为属性并将更大的对象写入数据库。但是有可能直接将获得的对象列表写入DB而不用封装它们的东西吗?

而且在准备这个Realm对象列表时,我基本上都有一个字典列表。将所有这些直接转换为Realm对象列表的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

只是为了确认。当你在顶部提到你的对象列表然后提到你有一个词典列表时,它们是一样的吗?

如果它们是,并且您的数据作为一组字典下来,只要键名与Realm Object模型中的属性匹配,那么您可以简单地遍历每个字典并将每个字典传递给Realm以创建它作为数据库中的新条目:

let realm = try! Realm()
try! realm.write {
    for dictionary in dictionaries {
        realm.create(MyObject.self, value: dictionary, update: false)
    }
}

有关该API的更多信息,请访问Realm Swift's documentation page

如果您的对象没有直接映射到Realm文件中的属性,那么您需要手动重新格式化对象列表的结构,直到可以将其作为字典插入,或者您可以手动创建自己的Realm Object实例。