如何从NSURLSessionDataTask获取状态代码?

时间:2015-12-14 16:09:53

标签: ios swift afnetworking

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

这是我的阻止:

    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))
    } 

2 个答案:

答案 0 :(得分:35)

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

Swift示例:

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;
}

答案 1 :(得分:0)

NSURLSessionDataTask具有response属性,该属性将填充NSHTTPURLResponse类的对象,该对象具有statusCode属性。