Managing the Blocks in the Operation

+ blockOperationWithBlock:

Creates and returns an NSBlockOperation object and adds the specified block to it.

Example

NSBlockOperation *eezyBlockOperation = [NSBlockOperation blockOperationWithBlock:^{
	NSInteger result =0 ;
	for (NSInteger i=0; i<10000; i++) {
		result = i;
	}
    NSLog(@"Your operation block %d",result);
 }];
NSLog(@"Before add block ");
NSOperationQueue *operationQueue = [[NSOperationQueue alloc]init];
[operationQueue addOperation:eezyBlockOperation];
NSLog(@"After add block");
		

Output

2014-04-04 08:24:27.155 iOS-Tutorial[503:a0b] Before add block 
2014-04-04 08:24:27.156 iOS-Tutorial[503:a0b] After add block
2014-04-04 08:24:27.156 iOS-Tutorial[503:1403] Your operation block 9999			

- addExecutionBlock:

Adds the specified block to the receiver’s list of blocks to perform.

Example

NSBlockOperation *eezyBlockOperation = [NSBlockOperation blockOperationWithBlock:^{
	NSInteger result =0 ;
	for (NSInteger i=0; i<10000; i++) {
		result = i;
	}
    NSLog(@"Your operation block %d",result);
 }];
[eezyBlockOperation addExecutionBlock:^{
	NSLog(@"Added execution block ");
}];
NSLog(@"Before add block ");
NSOperationQueue *operationQueue = [[NSOperationQueue alloc]init];
[operationQueue addOperation:eezyBlockOperation];
NSLog(@"After add block");		

Output

2014-04-04 08:32:31.619 iOS-Tutorial[540:a0b] Before addd block 
2014-04-04 08:32:31.620 iOS-Tutorial[540:a0b] After add block
2014-04-04 08:32:31.620 iOS-Tutorial[540:1403] Your operation block 9999
2014-04-04 08:32:31.620 iOS-Tutorial[540:3703] Added execution block 
		

- executionBlocks

Returns an array containing the blocks associated with the receiver.

Example

NSBlockOperation *eezyBlockOperation = [NSBlockOperation blockOperationWithBlock:^{
	NSInteger result =0 ;
    for (NSInteger i=0; i<10000; i++) {
    	result = i;
    }
    NSLog(@"Your operation block %d",result);
}];
[eezyBlockOperation addExecutionBlock:^{
	NSLog(@"Added execution block ");
}];
NSLog(@"%@",[eezyBlockOperation executionBlocks]);
		

Output

2014-04-04 08:35:45.239 iOS-Tutorial[570:a0b] (
    "<__NSGlobalBlock__: 0x4080>",
    "<__NSGlobalBlock__: 0x40a8>"
)
		

Advertisements