gpt4 book ai didi

ios - Swift 3.2 iOS - 如何增加 Firebase MutableData 对象的 NSNumber?

转载 作者:行者123 更新时间:2023-11-28 15:14:25 26 4
gpt4 key购买 nike

在 Swift 中,我理解 NSNumber 是包含标量数字的容器。

在 Firebase 中,您可以将 NSNumbers 发送到数据库,但不能发送 Ints。

我正在使用 Firebase Transactions 获得大量的赞/赞,我需要增加用户按下赞按钮的次数。

这是我将数据发送到 Firebase 的代码:

likesRef?.runTransactionBlock({
(currentData: MutableData) -> TransactionResult in

var value = currentData.value as? NSNumber

if value == nil{
value = 0
}

let one: NSNumber = 1

currentData.value = value! += one //error is here

return TransactionResult.success(withValue: currentData)

我不断收到错误:

Binary operator '+=' cannot be applied to two 'NSNumber' operands

enter image description here

问题是我将 Firebase MutableData 类型传递给 success(withValue: ) 方法,而不是 NSNumber 值本身。我不能使用 NSNumber.intValue 因为 Firebase 不接受整数。

如何将两个 NSNumbers 一起递增以作为 MutableData 对象的一部分发送到 Firebase?

最佳答案

试试这个:

let newValue: Int

if let existingValue = (currentData.value as? NSNumber)?.intValue {
newValue = existingValue + 1
} else {
newValue = 1
}

currentData.value = NSNumber(value: newValue)

关于ios - Swift 3.2 iOS - 如何增加 Firebase MutableData 对象的 NSNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com