我試着返回變量statusCode,它應該採用NSHTTPURLResponse的statusCode屬性的值,但是我得到零,即使當我檢查並且我看到數據成功發佈。它返回了我已經初始化變量的0 ...我怎麼去做這件事?謝謝。從一個變量返回NSHTTPURLResponse的statusCode
var statusCode = 0
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
dispatch_async(queue) {
let request = NSMutableURLRequest(URL: NSURL(string: escapedUrl!)!)
request.HTTPMethod = "POST"
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
statusCode = 0
} else if let httpResponse = response as? NSHTTPURLResponse {
if httpResponse.statusCode == 200 {
statusCode = httpResponse.statusCode
} else {
statusCode = 0
}
}
}
task.resume()
}
return statusCode
}
要異步調用web服務,所以當你返回的StatusCode像這樣你不會得到結果從服務器返回。 –
我真的希望它是異步的,因爲我不希望應用程序凍結。用這種方法是不可能實現的? – Rasmus
是的,你可以。請檢查我的答案 –