Ios 如何处理NSData内容URL EXC_断点错误

Ios 如何处理NSData内容URL EXC_断点错误,ios,swift,nsdata,Ios,Swift,Nsdata,我正在尝试使用contentsOfURL从服务器获取NSData。当iPhone连接到wifi时,它工作正常。但当我没有连接到wifi时,我的应用程序会崩溃,并显示EXC_断点消息。在未连接时,我如何处理或规避崩溃问题 do { let varOption = try NSData(contentsOfURL: NSURL(string: urlToRequest)!, options:NSDataReadingOptions.DataReadingMappedIfSafe) } cat

我正在尝试使用contentsOfURL从服务器获取NSData。当iPhone连接到wifi时,它工作正常。但当我没有连接到wifi时,我的应用程序会崩溃,并显示EXC_断点消息。在未连接时,我如何处理或规避崩溃问题

do {
    let varOption = try NSData(contentsOfURL: NSURL(string: urlToRequest)!, options:NSDataReadingOptions.DataReadingMappedIfSafe)
} catch {
    print("error encountered")
}

是否要求使用
NSData
内容URL
?为什么不使用
NSURLSession
发出异步web请求

NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: urlToRequest)!) { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
    // if data && !error, do the thing
}.resume()

您可以使用本教程创建一个函数来检查iPhone是否连接到Internet

实现此函数后,您可以使用它来验证连接,然后将代码放入if语句块中

if isConnectedToNetwork() {   //<-- This is the function implemented in tutorial posted before.

    //Here we put your code
    do {
        let varOption = try NSData(contentsOfURL: NSURL(string: urlToRequest)!, options:NSDataReadingOptions.DataReadingMappedIfSafe)
    } catch {
        print("error encountered")
    }

}

if isconnectedtonework(){//Is
urlToRequest
nil?您好。谢谢您的想法。不。如果连接了wifi,此代码工作正常。即,当wifi未连接时,urlToRequest不会突然变为nil。如果我理解正确,NSData内容的URL无论如何都会被弃用。NSURLSERSESSION工作得很好。谢谢。