单击按钮时动态标签更改

时间:2017-06-10 06:24:19

标签: swift

我正在尝试使用以下代码更改标签文字:

class ViewController: UIViewController {

    @IBAction func buttontobepressed(_sender: Any)
    {
       displayMessage.text?="button pressed"  
    }

    @IBOutlet  weak var displayMessage: UILabel!

当我尝试运行它时,它给了我一个例外:

  

$ ibc ++ abi.dylib:以NSException $

类型的未捕获异常终止

完整日志:

  

2017-06-10 12:07:14.672 blabby [4334:781388] - [blabby.ViewController buttontobepressed:]:无法识别的选择器发送到实例0x7bf54fe0 2017-06-10 12:07:14.679 blabby [4334 :781388] * 由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [blabby.ViewController buttontobepressed:]:无法识别的选择器发送到实例0x7bf54fe0' libc ++ abi.dylib:以NSException(lldb)类型的未捕获异常终止**

1 个答案:

答案 0 :(得分:0)

在操作方法中使用Any类的正确方法是在执行操作时检查相应的类,请参阅下文。

@IBAction func buttontobepressed(_ sender: Any){

    // checking if sender is as object of UIButton class
    if sender is UIButton{
        self.displayMessage.text = "button pressed"    
    }
}

注意:为了正确使用程序中包含UILabel的任何UI组件,您必须在声明后使用storyboard连接其IBOutlet,否则您将收到运行时错误。