NSURLSession con NSBlockOperation y colas
Tengo una aplicación que actualmente usaNSURLConnection
Para la gran mayoría de sus redes. Me gustaria mudarme aNSURLSession
Porque Apple me dice que ese es el camino a seguir.
Mi aplicación solo usa la versión síncrona deNSURLConnection
por medio de la+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
método de clase. Hago esto dentro de unNSBlockOperation
corriendo en unNSOperationQueue
así que no estoy bloqueando innecesariamente la cola principal. La gran ventaja de hacer las cosas de esta manera es que puedo hacer que las operaciones dependan unas de otras. Por ejemplo, puedo hacer que la tarea que solicita los datos dependa de la finalización de la tarea de inicio de sesión.
No he visto ningún soporte para operaciones síncronas dentro deNSURLSession
. Todo lo que puedo encontrar son artículos que me ridiculizan por siquiera pensar en usarlo de forma síncrona y que soy una persona horrible por bloquear los hilos. Multa. Pero no veo manera de hacerNSURLSessionTask
s dependientes unos de otros. ¿Hay una manera de hacerlo?
¿O hay una descripción de cómo haría tal cosa de una manera diferente?