2017-12-27 36 views
3
let syncServerURL = URL(string: serverUrl + "Combine")! 
var configuration = Realm.Configuration() 
configuration.encryptionKey = Utility().getKey() as Data 
configuration.syncConfiguration = SyncConfiguration(user: SyncUser.current!, realmURL: syncServerURL) 

Realm.asyncOpen(configuration: configuration, callback: { realm, error in   
    if let realm = realm { 
     let results = realm.objects(Combine.self) 
    } else if let error = error { 
     print("error ******* \(error)") 
     // Handle error that occurred while opening or downloading the contents of the Realm 
    } 
}) 

私はこの同期化されたレルムを取得するためにこのasyncOpenメソッドの設定を使用しましたが、レスポンスの結果はレルムのサーバレコードと同じです。Swift Realmのレスポンスの結果が異なります

let syncServerURL = URL(string: serverUrl + "Combine")! 
var configuration = Realm.Configuration() 
configuration.encryptionKey = getKey() as Data 
configuration.syncConfiguration = SyncConfiguration(user: current, realmURL: syncServerURL) 
let realm = try! Realm(configuration: configuration) 
let results = realm.objects(Combine.self) 

この方法構成を使用して同期領域を取得しましたが、応答結果は領域サーバレコードと同じには表示されません。その示す正しくない/古くなったレコード

上記の結果は、同期コンストラクタは、直ちにローカルレルムのインスタンスを返し、バックグラウンドで同期させながら

答えて

0

asyncOpen()は、コールバックを呼び出す前に、サーバからのすべての変更をダウンロード異なっています。つまり、データが最新であるという保証はありません。

関連する問題