ios - 如何从 NSURLSessionDataTask 获取状态码?

标签 ios swift afnetworking

在 AFNetworking 3.0 中,一些事情发生了变化。基本上,没有更多的操作,取而代之的是session data tasks。如何从 NSURLSessionDataTask 获取状态码?

这是我的 block :

    GET("users/check_email", parameters: parameters, progress: nil, success: { sessionDataTask, response in

        // here I need status code of response

        }) { sessionDataTask, error in

            completionBlock(nil, NSError(sessionDataTask: sessionDataTask))
    } 

最佳答案

NSURLSessionDataTask 有一个 response 属性,可以转换为 NSHTTPURLResponse 来获取状态码:

快速示例:

if let urlResponse = sessionDataTask.response as? NSHTTPURLResponse {
    let status = urlResponse.statusCode
}

objective-c 示例:

NSInteger statusCode = 0;

if ([sessionDataTask.response isKindOfClass:[NSHTTPURLResponse class]]) {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)sessionDataTask.response;
    statusCode = httpResponse.statusCode;
}

关于ios - 如何从 NSURLSessionDataTask 获取状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271594/

相关文章:

ios - 看不到标签栏图像

swift - 如何使用 AudioKit 加载第三方音频单元

swift - 在 init 中模糊使用下标

ios - Firebase updateChildValues 函数会阻止其他 Firebase 函数

ios - 平移后单元格停止响应选择

ios - 在 UITableViewCell 中滚动 UITextView

ios - Swift - 动态转换类无条件?

objective-c - 有效的 JSON,但来自 AFNetworking/NSJSONSerialization 的 'Cocoa error 3840'

ios - AFNetworking 可以处理请求队列吗?

swift - 使用 NSURLSession 时 GET 成功,但使用 AFHTTPSessionManager 时 GET 失败