¿Hay alguna forma de agregar bloques a NSOperationQueue como este?

Estoy tratando de entender NSOperationQueue y estoy tratando de crear el ejemplo más simple posible. Tengo lo siguiente:

NSOperationQueue *myOQ=[[NSOperationQueue alloc] init]; [myOQ addOperationWithBlock:^(void){ NSLog(@"here is something for jt 2"); }]; [myOQ addOperationWithBlock:^(void){ NSLog(@"oh is this going to work 2"); }]; 

Pero me gustaría hacer esto:

 void (^jt)() = ^void(){ NSLog(@"here is something for jt"); }; void (^cl)() = ^void(){ NSLog(@"oh is this going to work"); }; NSOperationQueue *myOQ=[[NSOperationQueue alloc] init]; [myOQ addOperation:jt]; [myOQ addOperation:cl]; 

¿Es posible esta última forma? ¿Puedo convertir un bloque a un NSOperation?

thx por adelantado

Tú podrías:

 NSBlockOperation *jtOperation = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"here is something for jt"); }]; NSBlockOperation *clOperation = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"oh is this going to work"); }]; [myOQ addOperation:jtOperation]; [myOQ addOperation:clOperation]; 

Dicho esto, generalmente hago addOperationWithBlock less que realmente necesite los pointers de object NSOperation por algún otro motivo (por ejemplo, para establecer dependencies entre operaciones, etc.).

También puedes hacer

 [operationQueue addOperationWithBlock:^{ // Stuff })]; 

Rápido

 let networkingOperation = NSBlockOperation(block: { // Your code here })