首页 > 解决方案 > 如何让 SFSafariViewController 恢复工作?

问题描述

我想在 SFSafariViewController 中打开一个 URL,但它说 URL 是 nil,尽管它不是 nil。

            let userURL = self.user?.url
            let url = URL(string: "https://www.\(userURL))")
            print(userURL)
            print(url)
            let webVC = SFSafariViewController(url: url!)
            self.present(webVC, animated: true, completion: nil)

对于打印声明,我得到以下信息:

打印(userURL)-> 可选(“linkedin.com/in/bob-tarantino-a5778194/”)

打印(网址)-> 无

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

该错误可能是由于在 URL 字符串中使用变量“userURL”引起的,因为如果 URL 包含正常字符串但我不知道如何修复它,它不会导致任何错误。

标签: swifturlsfsafariviewcontroller

解决方案


由于userURL是可选的,所以请添加如下的 nil 检查以确保在连接中使用非可选值。

guard let nonEmptyURL = userURL else {
    print("Nil userURL")        
}

let url = URL(string: "https://www.\(nonEmptyURL))")

print(userURL)
print(url)

推荐阅读