繁体   English   中英

如何在openURL swift中捕获错误的URL

[英]How do I trap a bad URL in openURL swift

如果我的网址末尾有空格,则会崩溃并显示EXC_BAD_INSTRUCTION。

我以为canOpenURL会捕获错误的URL,但事实并非如此。

if let strurl = cell.url{
    if (UIApplication.sharedApplication().canOpenURL(NSURL(string:strurl)!)) {
        UIApplication.sharedApplication().openURL(NSURL(string:strurl)!);
    }
}

就我而言,结尾处有多余空格的URL会将其崩溃。 我可以修剪空白,但是还有什么呢? 有没有适当的方法来捕获此错误?

您强行解开NSURL ,如果碰巧为nil ,则会导致应用程序崩溃。 要检查URL的有效性,您还应该在URL本身上使用if let

if let strurl = cell.url,
   let url = NSURL(string: strurl) {
      if (UIApplication.sharedApplication().canOpenURL(url) {
          UIApplication.sharedApplication().openURL(url)
      }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM