首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞机模式下的NSHTTPURLResponse状态码200

飞机模式下的NSHTTPURLResponse状态码200
EN

Stack Overflow用户
提问于 2015-06-12 22:41:27
回答 2查看 1.8K关注 0票数 2

我有一个有趣的问题:当我的设备处于飞机模式时,NSHHTPURLResponse提供的HTTP代码是200 "OK“。

它不应该因为一个错误而失败,或者至少不响应它与代码200有一个有效的连接?

下面是我的代码的一个片段:

代码语言:javascript
复制
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();

在飞机模式下,打印“一切良好”

EN

回答 2

Stack Overflow用户

发布于 2015-06-12 23:20:24

不要测试错误,测试返回的数据。Error (NSError,ErrorType)用于从回调(inout)返回错误。

下面的代码适用于我。

我用惯用的Swift语法编辑了它:

代码语言:javascript
复制
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()
票数 0
EN

Stack Overflow用户

发布于 2020-02-17 12:50:43

看来您可能收到了缓存的响应。检查了这篇文章

代码语言:javascript
复制
.reloadIgnoringLocalCacheData

如果这是原因,应该解决你的问题。

缓存策略

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30813184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档