swift NSURL得到一个“回复”;“无法读取数据”;即使使用https,也要发送消息://

swift NSURL得到一个“回复”;“无法读取数据”;即使使用https,也要发送消息://,swift,nsurl,Swift,Nsurl,我正试图通过一门课程学习iOS,他们要求我做到以下几点: override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //var string1 = "http://www.google.com" //var string1 = "https://www.weather-fore

我正试图通过一门课程学习iOS,他们要求我做到以下几点:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //var string1 = "http://www.google.com"
    //var string1 = "https://www.weather-forecast.com/locations/San-Antonio/forecasts/latest"
    //var url = NSURL(string: string1)
    var url = NSURL(string: "https://google.com")

    print(url)

        if url != nil {

            let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in

                var urlError = false

                if error == nil {

                    var urlContent = NSString(data: data!, encoding: NSUTF8StringEncoding)
                    print(urlContent)


                } else {

                    urlError = true

                }

                if urlError == true {
                    self.showError()
                }
        })

            task.resume()

        } else {

            showError()

    }
}
该应用程序不显示任何网页内容,调试时,我发现url的对象表示它“无法读取数据”

我尝试过http和https。我尝试过不同的网站

我在模拟器的safari中尝试了这个地址,它加载了

有人能告诉我为什么这不起作用吗

提前谢谢。
gariva

您使用了错误的编码。您试图获取的网页()使用了
ISO-8859-1

我可以复制你的问题。当我改变编码时,Fetch工作了。试试这个:

 var urlContent = NSString(data: data!, encoding: NSISOLatin1StringEncoding)

对于显示网页,应使用UIWebView元素。类似这样的内容:

        let url = NSURL(string: "https://google.com")
        let webView = UIWebView(frame: self.view.frame)
        self.view.addSubview(webView)
        webView.loadRequest(NSURLRequest(URL: url!))

您在哪一行获得此响应?before>var url=NSURL(string:)url对象有一个十六进制地址。执行该行后,url对象有“无法读取数据”值,下一行print(url!)打印可选()但之后的代码不起作用。谢谢,尝试过,但不起作用。代码从未到达该行。