web-dev-qa-db-ja.com

NSURLSessionDataTaskからステータスコードを取得するにはどうすればよいですか?

AFNetworking 3.0では、いくつかの点が変更されました。基本的に、これ以上の操作はありません。代わりにsession data tasksNSURLSessionDataTaskからステータスコードを取得するにはどうすればよいですか?

これは私のブロックです:

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

NSURLSessionDataTaskにはresponseプロパティがあり、NSHTTPURLResponseプロパティを持つstatusCodeクラスのオブジェクトが入力されます。

1
bteapot