我有一个有趣的问题:当我的设备处于飞机模式时,NSHHTPURLResponse提供的HTTP代码是200 "OK“。
它不应该因为一个错误而失败,或者至少不响应它与代码200有一个有效的连接?
下面是我的代码的一个片段:
let url = NSURL(string: "http://apple.com");
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
if(error == nil){
let statusCode = (response as! NSHTTPURLResponse).statusCode;
if(statusCode == 200){
println("All Good");
}
}
}
task.resume();在飞机模式下,打印“一切良好”
发布于 2015-06-12 23:20:24
不要测试错误,测试返回的数据。Error (NSError,ErrorType)用于从回调(inout)返回错误。
下面的代码适用于我。
我用惯用的Swift语法编辑了它:
let urlPath = "https://www.google.com/"
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!) { data, response, error in
if data != nil {
NSLog("%@", NSString(data: data!, encoding: NSUTF8StringEncoding)!) // EDIT
let res = response as? NSHTTPURLResponse
if res?.statusCode == 200 {
NSLog("All Good")
}
}
}
task!.resume()https://stackoverflow.com/questions/30813184
复制相似问题