我正在尝试使用以下代码更改标签文字:
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)类型的未捕获异常终止**
答案 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
,否则您将收到运行时错误。