"NSURL" неявно конвертируется в "URL"; вы хотели использовать "как" для явного преобразования?

У меня последняя бета-версия xcode, просто попытка загрузить веб-страницу внутри приложения.

import UIKit

class ViewController: UIViewController {

    @IBOutlet var webView: UIWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let url = NSURL (string: "https://www.google.com");
        let requestObj = NSURLRequest(URL: url!);
        webView.loadRequest(requestObj);
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

В этой строке: let requestObj = NSURLRequest(URL: url!); Я получаю следующую ошибку:

"NSURL" неявно конвертируется в "URL"; вы хотели использовать "как" для явного преобразования?

Я удалил восклицательный знак и получил эту ошибку:

Невозможно преобразовать значение типа "NSURL?" для ожидаемого типа аргумента "URL"

Я пробовал варианты этого кода со всего Интернета в течение последних четырех часов. Я думаю, что последнее быстро просто не позволяет этого больше или что-то, потому что ничего не работает. Я настроен на 10.0 Deployment Target и совместимый с Xcode 8.0. Но я также пробовал более ранние версии для обоих этих параметров, и я получаю ту же ошибку во всех версиях обоих.

Да, мой webView на раскадровке правильно подключен к ViewController.swift.

Ответ 1

В swift 3 вам нужно использовать URL вместо NSURL, поэтому создайте объект url следующим образом.

if let url = URL(string: "https://www.google.com") {
    webView.load(URLRequest(url: url))
}

Ответ 2

Обновление для Swift 3.1:

    let url = URL(string: "https://www.google.com")
    let request = URLRequest(url: url!)
    webView.load(request)

Обратите внимание на использование URL вместо NSURL и load вместо loadRequest.