NSOperation y NSOperationQueue, Roscado de una manera sencilla
Cualquiera que haya trabajado con hilos conocer todos los problemas que pueden surgir y lo difícil que puede ser la depuración. Cuando un programa de una aplicación para iPhone en Objective C, una función se puede utilizar para un enhebrado fácil para evitar el GUI se bloquea cuando se realizan varias tareas. Aquí es donde es bueno saber que hay dos objetos llamados NSOperation y NSOperationQueue.
Para saber cómo estas dos obras es muy simple. Uno puede mirar el código en un ejemplo de Apple TopSongs o leer la documentación de la clase NSOperation . Personalmente, me gusta leer la documentación para probar por ti mismo, ya que esto da una mejor comprensión de cómo las clases de trabajo.
Un pequeño ejemplo
Usuario aquí NSInvocationOperation que es una subclase de NSOperation
@interface OperationViewController : UITableViewController { NSOperationQueue *operationQueue; NSInvocationOperation *operation; } @property (nonatomic, retain) NSOperationQueue *operationQueue; @property (nonatomic, retain) NSInvocationOperation *operation; #import "OperationViewController.h" @implementation OperationViewController @synthesize operationQueue; @synthesize operation; - (void)viewDidLoad { [super viewDidLoad]; self.title = @"Operation"; [operationQueue setMaxConcurrentOperationCount:1]; operationQueue = [[NSOperationQueue alloc] init]; } Si ahora desea ejecutar una operación en el fondo sólo tiene que añadir un NSInvocationOperation en NSOperationQueue
operation = [[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(runInBackground) object:nil] autorelease]; [self.operationQueue addOperation:operation]; 



