Swift调用IBAction方法不起作用

时间:2017-10-17 18:57:22

标签: ios swift ibaction

我正在使用此代码触发视图控制器中的按钮。该按钮将用于呼叫紧急服务。代码似乎不起作用。

let busPhone = 112;

@IBAction func NoodnummerCal(sender: Any) {

    if let url = NSURL(string: "tel://\(busPhone)") {
        UIApplication.shared.openURL(url as URL)
    }

当我运行应用程序并按下按钮时,应用程序会兑现:

  

由于未捕获的异常而终止应用   ' NSInvalidArgumentException',原因:' - [ONGEVAL.Gewonden   NoodnummerCal:]:无法识别的选择器发送到实例

2 个答案:

答案 0 :(得分:0)

即使您使用的是旧语法,您的通话代码也能正常运行。您的错误来自@IBAction。删除该操作并使用新语法创建一个新操作。以下是使用当前语法的更新的调用代码:

@IBAction func callButtonClicked(_ sender: Any) {
    let busPhone = 112
    if let url = URL(string: "tel://\(busPhone)") {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
}

答案 1 :(得分:0)

检查您的Interface Builder,该按钮可能未启用。