У меня есть приложение, которое в настоящее время использует NSURLConnection
для подавляющего большинства своих сетей. Я хотел бы перейти на NSURLSession
, потому что Apple говорит мне, что это путь.
Мое приложение просто использует синхронную версию NSURLConnection
с помощью метода класса + (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
. Я делаю это в NSBlockOperation
, работающем на NSOperationQueue
, поэтому я не безнадежно блокирую основную очередь. Большим преимуществом для этого является то, что я могу сделать операции зависимыми друг от друга. Например, у меня может быть задача, запрашивающая данные, зависящей от завершения задачи входа в систему.
Я не видел поддержки синхронных операций внутри NSURLSession
. Все, что я могу найти, это статьи, высмеивающие меня за то, что я даже думал об использовании этого синхронно и что я ужасный человек для блокировки потоков. Хорошо. Но я не вижу возможности зависеть от NSURLSessionTask
друг от друга. Есть ли способ сделать это?
Или есть описание того, как я буду делать такую вещь по-другому?