У меня есть следующий код Swift, где я отправляю запрос POST на веб-сервер и получаю значение обратно. Ошибка, которую я получаю на второй до последней строки, говоря «Использование неразрешенного идентификатора»Swift - использование неразрешенного идентификатора
func download_request() -> String {
let url:NSURL = NSURL(string: "http://url.com/read.php")!
let session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData
let paramString = "data=name"
request.HTTPBody = paramString.dataUsingEncoding(NSUTF8StringEncoding)
let task = session.downloadTaskWithRequest(request) {
(let location, let response, let error) in
guard let _:NSURL = location, let _:NSURLResponse = response where error == nil else {
print("Error")
return
}
let urlContents = try! NSString(contentsOfURL: location!, encoding: NSUTF8StringEncoding)
guard let _:NSString = urlContents else {
print("Error")
return
}
}
task.resume()
return urlContents
}
Как бы я исправить эту ошибку? Я думаю, что это означает, что я не могу использовать urlContents за пределами let task = session.downloadTaskWithRequest (request) {}, но как бы объявить переменную, чтобы я мог использовать ее снаружи?
Это исправлена ошибка, однако, теперь я получаю другую ошибку при создании и запуск: фатальная ошибка : неожиданно найдено нуль при развертывании необязательного значения – zam
@ DanielZam См. мои правки. Это должно исправить это. – Ike10
Код исправил эту проблему, но оператор if, который позволяет мне разворачивать urlContents, не работает (как проверено с помощью инструкции else). – zam