如何从单元格中检索详细文本然后在函数中使用它?

时间:2016-08-02 18:22:57

标签: ios swift uitableview uiapplication

我试图检索UITableView Cell中包含的详细文本(这是一个电话号码" String")然后在一个可以拨打电话的功能中使用它。

  • 问题:

    我的应用不断崩溃,错误"致命错误:在解开可选值&#34时意外发现nil; 即使变量中有值。

我确定我在强行拆开可选项时出错了

SELECT

enter image description here

3 个答案:

答案 0 :(得分:3)

如果你不能100%确定它可以被打开,请不要使用力展开。如果可能的话,尽量避免它!

您的openPhoneApp函数必须收到一个非零字符串,所以一切都可以确定。

尝试用以下方法替换你的力量:

func openPhoneApp(phoneNum: String) {
    guard let url = NSURL(string: "tel:\(phoneNum)") else {
        print("badly formed telephone url")
        return
    }
    UIApplication.sharedApplication().openURL(url)
}

虽然我认为你的功能名称意味着它会打开手机应用程序,所以也许你应该去找一个正确形成的URL,如下所示:

func openPhoneApp(phoneURL: NSURL) {
    UIApplication.sharedApplication().openURL(phoneURL)
}

并在调用之前检查这种东西:

if let phone = getPhone, phoneURL = NSURL(string: "tel:\(phone)") {
    openPhoneApp(phoneURL)
}

答案 1 :(得分:1)

你检查过phoneNumber变量的值吗?它可能是零。

你可以查看这个答案:我认为这可以解决你的问题。

What does "fatal error: unexpectedly found nil while unwrapping an Optional value" mean?

特别是这个答案

https://stackoverflow.com/a/35683816/5660422

答案 2 :(得分:1)

请使用tel:// scheme并始终致电

UIApplication.sharedApplication().canOpenURL

之前