呼ば `setValue`完了:FirebaseのiOS SDK inconsistantly使用する場合
func setValue(value: AnyObject?, withCompletionBlock block: (NSError?, FIRDatabaseReference) -> Void)
をFirebaseのiOS SDKの一部として、永続性が有効になっている場合、終了ブロックは矛盾と呼ばれます。
ネットワーク接続がなく、ローカルに更新され、サーバーにデータを送信するときに完了を呼び出すだけで完了しないとわかっていますが、 firebaseコンソールと私の補完ブロックが呼び出されても、一貫していません。
persistanceEnabled
をオフにすると、呼び出しは正常に機能します。
私の方法です。完了ブロック意志 - refは真実ではない
「私はネットワーク接続がない場合は補完が呼び出されるべきではないことを認識し、」
func lightSave(completion: FBModelUpdateCompletion? = nil) {
print("Light Saving \(ref)")
ref.setValue(json, withCompletionBlock: { (error, result) in
print("finished saving")
if let error = error {
print(error.localizedDescription)
}
completion?(error: error, object: self)
})
}