2016-07-06 13 views
1

レルムからすべてのオブジェクトをこのように取得するとコピーできますか?レルムすべてのオブジェクトをコピー

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

現在、私は保留中の写真をすべてループし、別のレルムオブジェクトを作成することで、すべてのオブジェクトを再度作成しています。

+0

「すべてのオブジェクトをレルムからコピーする」とはどういう意味ですか?あなたが試したことの例と、あなたが探している結果を提供できますか? – bdash

+0

私は、オブジェクトのコピーを作成するようなものです。これと同等のものは過去にobj-cの.copyになります – WYS

+0

レルムに格納されているオブジェクトまたはアンマネージオブジェクトにコピーをしますか? – bdash

答えて

3

init(value: _)を使用して、オブジェクトのコピーを個孤立させて作成することができます。あなたは浅いを作成することができます

Realm.create(: _, value: _, update: _)を使用して、オブジェクトのコピーを管理しますが、最後の引数はfalseとして渡された場合にのみ。

あなたは、マップを使用してリストの両方に適用することができます。

let copies = pendingPhotos.map { PendingPhoto(value: $0) } 

浅いコピーがそのように取得されたオブジェクトの関係が深くコピーされないことを意味します。したがって、すべてのリレーションで、元のオブジェクトと同じオブジェクトインスタンスがアタッチされます。

関連する問題