swift – 在Firebase中增加数据点的最简单方法?
发布时间:2020-12-14 04:28:45 所属栏目:百科 来源:网络整理
导读:我在Firebase中增加一段数据时遇到了麻烦. Firebase { clickedCounter: 0} 这是我的代码: @IBAction func plus(sender: UIButton) { FIRDatabase.database().reference().child("clickedCounter").observeEventType(.Value) { (snap: FIRDataSnapshot) in l
我在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是一个字符串. 谢谢! 解决方法
为什么不(v2.x Firebase代码,但你明白了)
counterRef.observeSingleEventOfType(.Value,withBlock: { snapshot in let valString = snapshot.value var value = valString.intValue value = value + 1 counterRef.setValue("(value)") }) 如果多个用户经常更新,也可以利用事务块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |