我在Firebase中增加一段数据时遇到了麻烦.
Firebase { clickedCounter: 0 }
这是我的代码:
@IBAction func plus(sender: UIButton) { FIRDatabase.database().reference().child("clickedCounter").observeEventType(.Value) { (snap: FIRDataSnapshot) in let value = FIRDatabase.database().reference().child("clickedCounter") as? NSNumber let increment = ((value?.intValue)! + ((1 as? NSNumber)?.intValue)!) as? NSNumber FIRDatabase.database().reference().child("clickedCounter").setValue() self.clickLabel.text = snap.value?.description as String! } }
我也尝试过:
@IBAction func plus(sender: UIButton) { FIRDatabase.database().reference().child("clickedCounter").observeEventType(.Value) { (snap: FIRDataSnapshot) in FIRDatabase.database().reference().child("clickedCounter").setValue((snap.value?.description)! + 1) self.clickedLabel.text = snap.value?.description as! String! } }
我的第一个警告是:
从Int32转换为NSNumber总是失败
从NSNumber到NSNumber的条件演员总是成功的
从FIRDatabaseReference转换为NSNumber总是失败
在我运行它之后,我得到了关于let increment的错误….:线程1:EXC_BAD_INSTRUCTION
对于我的第二个错误是:
二进制运算符不能应用于String和Int类型的操作数
>当我认为我在Firebase中将其定义为Int时,我很困惑我的snap.value?.description是一个字符串.
>当事情总是成功时,为什么会收到警告?
>有更好的方法吗?
谢谢!
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。