gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:40:50 25 4
gpt4 key购买 nike

如果我的 url 末尾有空格,它会因 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)
}
}

关于ios - 如何在 openURL swift 中捕获错误的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com