0
我想添加除當前數據以外的數據。 我知道的唯一方法是保存當前數據,將其添加到我的應用程序中,然後將其寫入Firebase。但是如果兩個人在確切的時間這樣做呢?首先執行此操作的人將被禁止。在Swift 3中添加數據到Firebase而不是SetValue
那麼您是否知道以其他方式將數據添加到Firebase而不是SetValue?
我想添加除當前數據以外的數據。 我知道的唯一方法是保存當前數據,將其添加到我的應用程序中,然後將其寫入Firebase。但是如果兩個人在確切的時間這樣做呢?首先執行此操作的人將被禁止。在Swift 3中添加數據到Firebase而不是SetValue
那麼您是否知道以其他方式將數據添加到Firebase而不是SetValue?
爲了解決這個同步值更新用,runTransactionBlocks
使用
喜歡這個功能,可以說這個基準是noOfPost的,所有我想要做的是1
如果兩個增加值用戶同時增加該參考值,該請求將被上傳到單獨的線程中,並且將覆蓋數據庫中同時更新的可能性: -
func updateTotalNoOfPost(completionBlock : @escaping (() -> Void)){
let prntRef = FIRDatabase.database().reference().child("_yourNodeRef")
prntRef.runTransactionBlock({ (returned_Data) -> FIRTransactionResult in
if let totalPost = returned_Data.value as? Int{
print(totalPost)
returned_Data.value = totalPost+1 //Your updated or appended value, or whatever you wanna do with this
return FIRTransactionResult.success(withValue: returned_Data)
}else{
return FIRTransactionResult.success(withValue: returned_Data)
}
}, andCompletionBlock: {(error,completion,snap) in
print(error?.localizedDescription)
print(completion)
print(snap)
if !completion {
print("The value wasn't able to Update")
}else{
completionBlock()
}
})
}
調用函數: -
updateTotalNoOfPost{
print("The value was updated")
}
如何調用函數? – Eliko
更新的答案。 – Dravidian
完美!有用!謝謝 :) – Eliko