Это может быть глупый вопрос, но у меня есть некоторые проблемы, меняющие мой код, чтобы избежать устаревшего кода в iOS9.sendSynchronousRequest не рекомендуется. Как я могу достичь такого же результата с помощью dataTaskWithRequest?
Я создал приложение, которое входит на веб-страницу. На веб-странице используется имя пользователя и пароль, который пересылается на страницу, где должен быть введен токен.
Я смог войти на эту веб-страницу, используя три URL-адреса, которые были загружены синхронно в цикле for. Вот краткий пример процесса:
let urls = ["www.testpage.com", "www.testpage.com/username=erik&password=123", "www.testpage.com/token=123456"]
for (index, url) in urls.enumerate() {
self.urlRequest = NSMutableURLRequest(URL: urlObject.baseUrl, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 30.0)
NSURLConnection.sendSynchronousRequest(self.urlRequest, returningResponse: &response)
if index == 2 {
print("Login successful")
}
}
Это работает просто отлично, как синхронный запрос вызвал на URL в то время, в правильной последовательности.
У меня возникла проблема с достижением того же самого результата с dataTaskWithRequest, поскольку последний URL-адрес иногда запускается до того, как первый закончен.
Есть ли рекомендации по этому вопросу?
Цените любую помощь!
С уважением, Эрик
См. Мой ответ здесь: http://stackoverflow.com/a/33205098/341994 – matt
Спасибо @matt! Я посмотрю на это! – fisher
@fisher вы получили 1: 1 падение в решении без блоков, async_dispatchs и т. Д., Только функция, которая выполняет http-get, блокирует текущий поток и затем возвращается? – Leo