Swift: получить HTTP-код из ответа сервера

Я использую следующую функцию в Swift, чтобы подключиться к PHP Script на сервере и затем обработать мой запрос:

func pushtoserveronclick() {
var URL: NSURL = NSURL(string: "http://someurl.com/")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"var bodyData = "data=something&version=\(appVersion)"request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in
println(response)
}
}

Когда я запускаю приложение, я получаю это как ответ:

<NSHTTPURLResponse: 0x14e53170> { URL: http://someurl.com/ } { status code: 200, headers {
Connection = "Keep-Alive";
"Content-Type" = "text/html";
Date = "Fri, 05 Dec 2014 06:23:23 GMT";
"Keep-Alive" = "timeout=2, max=100";
Server = Apache;
"Transfer-Encoding" = Identity;

Как бы я получить код состояния это возвращается, так что я могу выполнить проверку и сказать, является ли это проблемой подключения?

0

Решение

NSURLConnection.sendAsynchronousRequest использования NSURLResponse в сигнатуре типа, но пока вы подключаетесь по HTTP, экземпляр (обычно) NSHTTPURLResponse, который имеет statusCode,

Вы можете проверить и разыграть это так:

if let HTTPResponse = response as? NSHTTPURLResponse {
let statusCode = HTTPResponse.statusCode
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]