Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 单击按钮时动态标签更改_Swift - Fatal编程技术网

Swift 单击按钮时动态标签更改

Swift 单击按钮时动态标签更改,swift,Swift,我正在尝试使用以下代码更改标签文本: class ViewController: UIViewController { @IBAction func buttontobepressed(_sender: Any) { displayMessage.text?="button pressed" } @IBOutlet weak var displayMessage: UILabel! 当我尝试运行它时,它会给我一个异常: $ibc++abi

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

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


在动作方法中使用
Any
类的正确方法是在执行动作时始终检查相应的类,请参见下文

@IBAction func buttontobepressed(_ sender: Any){

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

注意:要正确使用程序中的任何UI组件,包括
UILabel
,必须在声明后使用脚本连接其
IBOutlet
,否则会出现运行时错误。

删除
属性后的
文本
displayMessage.text=“按下按钮”
'NSInvalidArgumentException'是错误消息,显示…未捕获的异常。您的标签插座是否已连接?同时添加完整错误**2017-06-10 12:07:14.672 blabby[4334:781388]-[blabby.ViewController Buttobepressed:]:未识别的选择器发送到实例0x7bf54fe0 2017-06-10 12:07:14.679 blabby[4334:781388]***由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:'-[blabby.ViewController按钮被按下:]:发送到实例0x7bf54fe0的无法识别的选择器'libc++abi.dylib:由于NSException(lldb)类型的未捕获异常而终止**添加代码< > > <代码>和<代码>发件人< /代码>,如<代码>按钮>(发件人:任何) @ Mozahler,谢谢您的观点,但是我们考虑到OP的一些明显的先验知识。