我刚开始考虑实现Realm并且有一些新手的怀疑。
例如,我收到一个对象列表,我将其转换为领域对象。如何直接将整个列表写入Realm,而无需单独编写每个对象?
我想到了一个典型的解决方法,它将定义一个更大的对象,该对象包含此列表作为属性并将更大的对象写入数据库。但是有可能直接将获得的对象列表写入DB而不用封装它们的东西吗?
而且在准备这个Realm对象列表时,我基本上都有一个字典列表。将所有这些直接转换为Realm对象列表的最佳方法是什么?
答案 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实例。