Pregunta

He realizado una llamada a un método de clase desde la aplicación así:

    RankingAndSMProcess *process = [RankingAndSMProcess alloc];

    [process performSelectorInBackground:@selector(DoRankingAndSocialMediaProcessing) withObject:nil];

    [process release];

Este método llama a otros métodos:

     @try {
         [self GoForRankingProcess];
         [self updateItemsForPeerindex];
         [self updateItemsForKloat];
         [self updateItemsForKred];
     }
     @catch (NSException *exception) {
         NSLog(@"An Error has been occured:%@", exception);
     }
     @finally { 
         [items release];
         [profile release];
     }

¿Se deben llamar a todos los métodos llamados desde dentro del método DorankingandSocialMediaProcessing en RankingAndsmProcess de la misma manera que el DorankingandSocialMediaProcessing en el hilo de fondo?¿O hay otro problema potencial aquí?

Actualmente no creo que se están disparando ninguno de los métodos de procesamiento ya que no se están recopilando nuevos datos.

Antes de agregar cambiando la llamada para funcionar en segundo plano, todos los métodos y el proceso completo funcionaron como se esperaba.

¿Fue útil?

Solución

Crear una NSOPERACIÓN Y AGREGAR ESTE OPERACIÓN A NSOPERAWACEQUEUE. Esto creará un nuevo hilo paralelo al hilo principal y también ejecutará su método.

Aquí hay algunos enlaces útiles:

Nsoperation en el iPhone

http://www.icodeblog.com/tag/nsoperation/

http://www.cimgf.Com / 2008/02/16 / Cocoa-Tutorial-Nsoperation-and-NsoperationQueue /

Espero que esto te ayude.

Disfruta de la codificación :)

Otros consejos

¿Qué están haciendo todos los otros métodos?Si es una solicitud de red, por ejemplo, se puede necesitar un bucle de ejecución para que el hilo de fondo sea realmente capaz de realizar la tarea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top