【问题标题】:NSURL fatal ErrorNSURL 致命错误
【发布时间】:2015-11-02 20:13:32
【问题描述】:

我在插入网址后尝试在 Swift 中创建 waze 链接,但出现致命错误。

我的代码

let newName:String = closest.name.stringByReplacingOccurrencesOfString(" ", withString: "&", options: NSStringCompareOptions.LiteralSearch, range: nil)
    print(closest.name)
    print(newName)
    let url:String = "waze://?q=\(newName)"

    print(url)

    let navAdd: NSURL? = NSURL(string:url)// here is the error
    let wazeApp: NSURL? = NSURL(string: "http://itunes.apple.com/us/app/id323229106")!
    print(navAdd)
    if(true){
        UIApplication.sharedApplication().openURL(navAdd!)
    }else{
        UIApplication.sharedApplication().openURL(wazeApp!)
    }

错误是:

致命错误:在展开可选值时意外发现 nil

【问题讨论】:

  • 错误发生在哪一行?
  • 让 navAdd: NSURL? = NSURL(string:url)//这里是错误

标签: swift nsurl


【解决方案1】:

你已经打开了一个可选项,没有检查它是否不为零。

if let navAdd = NSURL(string:url) {
    UIApplication.sharedApplication().openURL(navAdd)   
} else if let wazeApp = NSURL(string:"http://itunes.apple.com/us/app/id323229106"){
    UIApplication.sharedApplication().openURL(wazeApp)
} else {print("Url not found")}

【讨论】:

  • 但这不是打开唤醒应用程序地址 waze://?q=חוף&פלמחים 如果它安装在我的手机上需要打开唤醒应用程序
猜你喜欢
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2011-03-20
  • 2011-02-12
相关资源
最近更新 更多