【发布时间】:2015-12-09 22:54:48
【问题描述】:
当我想加载一个网址时,它总是进入catch 块。我该如何解决这个问题?我认为这与转义的网址有关。
如果我在 if 块中设置 url,它会立即转到 else 块。
let urls : String = Baseurl+"lat="+latitude+"&lon="+longitude+"&APPID={"+apiKey+"}"
let escapedurl = urls.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
let url: NSURL = NSURL(string: escapedurl!)!
if let url = NSURL(string: escapedurl!) {
do {
let contents = try NSString(contentsOfURL: url, usedEncoding: nil)
print(contents)
} catch {
// contents could not be loaded
print("bad")
}
} else {
// the URL was bad!
print("bads")
}
【问题讨论】:
-
向我们展示完整的 URL。
-
您的
catch块可以让您了解有关错误的更多信息。现在,您忽略了提供给您的错误对象中的所有信息。请参阅 Using Swift with Cocoa and Objective-C 中的Error Handling,了解可用于检查错误并找出问题所在的模式。