当我尝试增加currentNumberAdmin
时,我得到:
无法转换'UILabel!'类型的值!到预期的参数“在字符串中输入类型”
class adminPanel: UIViewController {
@IBOutlet weak var currentNumberAdmin: UILabel!
@IBAction func nextCurrent(_ sender: UIButton) {
let database = FIRDatabase.database().reference()
database.child("current").observe(FIRDataEventType.value, with: { (snapshot) in
self.currentNumberAdmin.text = snapshot.value as! String
currentNumberAdmin += String(1)
})
}
}
有人知道我如何正确转换和增加
currentNumberAdmin
吗? 最佳答案
由于以下行而崩溃:currentNumberAdmin += String(1)
。您正在尝试将字符串值添加到UILabel值,这是无效的。您实际上是在告诉编译器将UILabel currentNumberAdmin
分配给向字符串添加UILabel的表达式的值,编译器不知道该怎么做,因此产生异常消息。
尚不清楚为什么您要尝试两次设置标签的文本:一次是使用snapshot.value,然后是下一行。如果您要尝试将标签的文本设置为快照值+ 1,请执行以下操作:
@IBAction func nextCurrent(_ sender: UIButton) {
let database = FIRDatabase.database().reference()
database.child("current").observe(FIRDataEventType.value, with: { (snapshot) in
var strVal = Int(self.currentNumberAdmin.text)!
strVal += 1
self.currentNumberAdmin.text = String(strVal)
})
}