2012-10-11 16 views
38

Estoy desarrollando una aplicación de chat usando xmppframework en IOS 5; funciona perfectamente Pero actualicé mi xcode a 4.5.1, iOS5 a iOS 6 y mi Mac OS a 10.7.5, y el proyecto no funcionó debido a problemas desaprobados. I sustituye a todos los métodos con los nuevos métodos en iOS 6, excepto ésta:¿Cómo puedo reemplazar el método obsoleto dispatch_get_current_queue() de ios5 a ios6 en iphone?

dispatch_get_current_queue() 

¿Cómo puedo reemplazar este método en el IOS 6?

+0

'dispatch_get_current_queue' no está en desuso. ¿Qué error o advertencia estás viendo? –

+1

@NoahWitherspoon __OSX_AVAILABLE_BUT_DEPRECATED (__ MAC_10_6, __ MAC_NA, __ IPHONE_4_0, __ IPHONE_6_0) Significa que está en desuso a partir de 6.0 –

+3

Huh. Entonces lo hace. Supongo que estaba buscando la documentación equivocada. –

Respuesta

4

Depende de lo que necesite lograr con esta llamada.
Apple afirma que debe utilizarse para la depuración de todos modos.

Tal vez la cola no importa (ya que sólo necesita una cola de fondo) para obtener una cola global con prioridad específica (dispatch_get_global_queue(dispatch_queue_priority_t priority, unsigned long flags);)

O,

Si necesita ejecutar algunas piezas de código en la misma cola, crea una cola, consérvala y envía todas tus tareas allí.

2

¿Qué le parece usar NSOperationQueue?

-(void) doSomeThing:(void (^)(BOOL success)) completionHandler 
{ 
    NSOperationQueue* callbackQueue = [NSOperationQueue currentQueue]; 
    if(!callbackQueue) { 
     callbackQueue = [NSOperationQueue mainQueue]; 
    } 
    dispatch_async(...,^{ 
     // do heavyweight stuff here 
     // then call completionHandler 
     if(completionHandler) { 
      [callbackQueue addOperationWithBlock:^{ 
       completionHandler(...); 
      }]; 
     } 
    }); 
+0

No estoy seguro este es el camino a seguir porque ahora acaba de agregar la última parte de su operación al final de su cola. ¿Qué sucede si su cola tiene una operación simultánea máxima y tiene 20 operaciones en su cola? – horseshoe7

Cuestiones relacionadas