sguruapp@gmail.com
facebook vk instagram Одноклассники youtube

Загрузка данных из сети, работа с dataTask и возвращение значения (Function with dataTask returning a value, @escaping, escaping) - Swift 5


class func checkUrl(urlString: String, finished: @escaping (( _ isSuccess: Bool) -> Void) {
let urlPath: String = urlString
var url: NSURL = NSURL(string: urlPath)!
var request: NSURLRequest = NSURLRequest(url: url as URL)
var response: URLResponse?

let session = Foundation.URLSession.shared

var task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in
if let error = error {
print(error)
}

if let data = data{
print("data =\(data)")
}

if let response = response {
print("url = \(response.url!)")
print("response = \(response)")
let httpResponse = response as! HTTPURLResponse
print("response code = \(httpResponse.statusCode)")

if httpResponse.statusCode == 200{
finished(true)
} else {
finished(false)
}
}
})
task.resume()
}


Call it this:

checkUrl("http://myURL", finished { isSuccess in
// Do it ...
})

Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего