私の理解から、Realm
はメインスレッドからのみアクセスできます。あるレルムから別のレルムへ非同期でコピーする
私は2つの領域を使用します.1つは、検証時に実領域に移動する「汚れた」データを格納する領域です。
これまでのところとても良いですが、私はメインスレッドの外でそうする方法を見つけることができません。 realm.executeTransactionAsync()
を使用して実際の領域に書き込むと、ダーティ領域またはトランザクションスレッド内のRealmResults
にアクセスできなくなります。
唯一の回避策は、メインスレッドでdirtyRealm.copyFromRealm()
を使用することです。これは、スレッドを長期間ブロックする可能性があります。
これは正しいアプローチですか、それともより良い解決策ですか?
「私の理解から、レルムはメインスレッドからしかアクセスできません。間違って、レルムはそれを作成したスレッドからしかアクセスできません。 – EpicPandaForce
@EpicPandaForceそれが私が書いた理由です。最初に 'RealmObject'をすべてメモリ内のコピーにコピーすることなく、自分の見解ではアクセスできなくなりました。それをお勧めしますか? – ferbeb
私は言った、あなたはあなたがその特定のスレッドで開くレルムにアクセスすることができます。これは、UIスレッドでUIスレッドRealmにアクセスできないことを意味しません。 – EpicPandaForce