swift nsurlconnection fatal error: unexpectedly found nil while unwrapping an Optional value

swift nsurlconnection fatal error: unexpectedly found nil while unwrapping an Optional value


我正在使用以下代码下载
来自我的服务器的一些 xml 数据

//Build & Request the Url
let url = NSURL(string: "http://sample.com")
let request: NSURLRequest  = NSURLRequest(URL: url!)
var response: AutoreleasingUnsafeMutablePointer<NSURLResponse?
>=nil
var error: NSErrorPointer = nil
var xmlData: NSData =  NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil)!
var err: NSError

大部分时间都按预期工作。但如果我断开互联网 并关闭应用程序并在连接互联网后再次打开 它抛出致命错误

var xmlData: NSData =  NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil)!

这似乎是 "faulty" 行。 因为这只发生在我 disconnect/reconnect 互联网
之后 也许我应该刷新 NSURLCONNECTION 什么的,我不知道。
我这么想是因为它大部分时间都按预期工作
也许在我断开连接后 NSURLCONNECTION 没有正确检测
设备已重新连接。

任何 help/suggestions 将不胜感激。
谢谢。

添加零合并

var xmlData: NSData? =  NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil) ?? nil 

你应该使用问题可选标记,因为它可以是 nil

var xmlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil)

var xmlData: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil)?

var xmlData = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil) as? NSData