领域复制所有对象

时间:2016-07-06 14:23:09

标签: ios swift realm

在像这样检索Realm时,是否可以从Realm中复制所有对象?

let realm = try Realm()
let pendingPhotos = realm.objects(PendingPhoto)

现在,我通过循环遍历所有待处理的照片并创建另一个Realm对象来重新创建所有对象。

1 个答案:

答案 0 :(得分:3)

您可以使用init(value: _)创建对象的浅层分离副本。

您可以使用Realm.create(: _, value: _, update: _)创建对象的浅层托管副本,但前提是最后一个参数作为false传递。

您可以使用map:

将两者都应用于列表
let copies = pendingPhotos.map { PendingPhoto(value: $0) }

副本意味着不会深深复制以这种方式检索的对象的关系。因此,在所有关系上,您将看到与原始对象相同的对象实例。