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
我正在使用以下代码下载
来自我的服务器的一些 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