无法转换类型的价值' UILabel!'预期参数'输入字符串'

时间:2017-07-11 22:16:02

标签: ios swift

当我尝试增加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

1 个答案:

答案 0 :(得分:0)

由于这一行而导致崩溃:currentNumberAdmin += String(1)。您正在尝试将字符串值添加到UILabel值,该值无效。你实际上告诉编译器将currentNumberAdmin(UILabel)分配给将UILabel添加到String的表达式的值,编译器不知道该怎么做,因此异常消息。

为什么要尝试将标签的文本设置两次并不完全清楚:一次使用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)
    })

}