快速崩溃没有 http 或 https 的 uiwebview

Mil*_*loo -1 uiwebview nsstring uitextfield ios swift

我想在 Web 视图中显示 URL

这是我的代码

  let urlString:String = "https://www.apple.com"
        let url:URL = URL(string: urlString)!
        let urlRequest:URLRequest = URLRequest(url: url)
        webView.load(urlRequest)

        urlTextField.text = urlString
Run Code Online (Sandbox Code Playgroud)

如果用户忘记写入 http 或 https,应用程序崩溃了,我该如何解决此错误

Mil*_*sáľ 5

只需使用starts(with:)on string 来检测 url 字符串是否以 http/https 开头,如果不是,请自己添加“http://”(另外,使用 safeif let而不是强制解包):

var urlString: String = "www.apple.com"
if !urlString.starts(with: "http://") && !urlString.starts(with: "https://") {
      urlString = "http://\(urlString)"
}
if let url: URL = URL(string: urlString) {
    let urlRequest: URLRequest = URLRequest(url: url)
    webView.load(urlRequest)
    urlTextField.text = urlString
}
Run Code Online (Sandbox Code Playgroud)