2
私は周りを見てきましたが、Firebase Transactionをやっている人はたくさんいます。私がしたいのは、カウンターに1を追加するだけで、作品は完璧になったのですが、自分のやり方がドキュメントよりはるかに簡単だったので、私が正しくやっていることを確認したいのです。Firebaseトランザクション - これは正しいですか?
乾杯! :)
database.child("stories").child(articleKey).runTransactionBlock({ (currentData:FIRMutableData) -> FIRTransactionResult in
if var post = currentData.value as? [String: AnyObject] {
var likeCount = post["storyLikes"] as? Int ?? 0
likeCount += 1
post["storyLikes"] = likeCount as AnyObject?
currentData.value = post
return FIRTransactionResult.success(withValue: currentData)
}
//Abort like if there was a problem
return FIRTransactionResult.abort()
})
ありがとうございました!ああ、これは、私が投稿した違ったロジックだったよ!記事が作成されると、デフォルトのlike counterが0に設定され、トランザクションを中止しません。私は使用できるコンプリートブロックがあることを知りましたが、必要ならば私はまだトスしています!でもありがとう! – Eli