我正在使用Swift为IOS开发一个应用程序,并且在某些时候运行该行:
let myURLString = "http://FILE URL"
var myHTMLString:NSString = ""
if let myURL = NSURL(string: myURLString) {
var error: NSError?
myHTMLString = NSString(contentsOfURL: myURL, encoding: NSUTF8StringEncoding, error: &error)!
if let error = error {
var alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: nil))
println("Error : \(error)")
}
else {
println("HTML : \(myHTMLString)")
}
}
else {
println("Error: \(myURLString) doesn't seem to be a valid URL")
}
return myHTMLString as String
返回一个String。
如果设备(或使用XCode的Mac)没有Internet,则应用程序会失败,因为:
myHTMLString = NSString(contentsOfURL: myURL, encoding: NSUTF8StringEncoding, error: &error)!
为null(无)
我的问题是:如何捕获此错误,继续执行并在View Controller中显示错误消息?
答案 0 :(得分:0)
将myHTMLString作为字符串返回?可选而不是String。一旦调用应用程序返回myHTMLString变量,检查nil
if let htmlString = myHTMLString{
// HTML String returned by function isnt nil
}
else {
// HTML String returned by function is nil. Handle the error
}