swift NSURL得到一个“回复”;“无法读取数据”;即使使用https,也要发送消息://
我正试图通过一门课程学习iOS,他们要求我做到以下几点: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
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!)打印可选()但之后的代码不起作用。谢谢,尝试过,但不起作用。代码从未到达该行。