我正在使用以下代码下载
来自我的服务器的一些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)!
这似乎是&#34;错误&#34;线。
因为只有在断开/重新连接互联网之后才会发生这种情况
也许我应该刷新NSURLCONNECTION或其他东西,我不知道
我在想这是因为它大部分时间都按预期工作
也许我断开NSURLCONNECTION后没有正确检测到
设备重新连接。
任何帮助/建议都将受到高度赞赏 谢谢。
答案 0 :(得分:0)
添加nil合并
var xmlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil) ?? nil
答案 1 :(得分:0)
你应该使用问题可选标记,因为它可以是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