firebase runTransactionBlock

firebase runTransactionBlock

我正在阅读此处 firebase.google 的示例 https://firebase.google.com/docs/database/ios/save-data#save_data_as_transactions 我正在尝试编写自己的版本。我遇到了麻烦,因为 firebase 示例让我比开始之前更加困惑

我想要做的就是当一个人点击一个按钮时,它的计数是 ++(或 +=1) 另一个按钮将其删除

有人可以帮我弄清楚如何做吗...上一个问题的另一个用户发布了指向其他语言答案的链接,我试图用 swift 语言编写它,但我失败了

多亏了上面看到的评论,我才能让它工作

....runTransactionBlock { (currentData: FIRMutableData) -> FIRTransactionResult in

        var value = currentData.value as? Int

        if value == nil {
            value = 0
        }

        currentData.value = value! + 1
        return FIRTransactionResult.successWithValue(currentData)




    }

似乎在 2021 年工作 Swift 5

gv.dbRef.child("referenceToLikes ie posts/user/likes").runTransactionBlock({ (currentData: MutableData) -> TransactionResult in
        var value = currentData.value as? Int
                if value == nil {
                    value = 0
                }
                currentData.value = value! + 1
        return TransactionResult.success(withValue: currentData)
    }) { error, committed, snapshot in
        if let error = error {
          print(error.localizedDescription)
        }
    }