Por "dispara y olvida", trate [self performSelectorInBackground:@selector(heavyStuff) withObject:nil]
. Si tiene más de una operación como esta, puede consultar NSOperation
y su subclase NSInvocationOperation
. NSOperationQueue
gestionado conjunto de hilos, número de operaciones que se ejecutan simultáneamente e incluye notificaciones o bloquear métodos para dirá cuando todas las operaciones completa:
[self myFoo];
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(heavyStuff) object:nil];
[operationQueue addOperation:operation];
[operation release];
[self myBar];
...
[operationQueue waitUntilAllOperationsAreFinished]; //if you need to block until operations are finished
En un nivel inferior, puede utilizar el uso -[NSThread detachNewThreadSelector:@selector(heavyStuff) toTarget:self withObject:nil]
.
falta una 'g' en performSelectorInBackround – Erich
fijo. gracias @Erich. –