December 2012
Intermediate to advanced
834 pages
27h
English
You’ve learned how to construct block objects, and now you want to execute your block objects to get results.
Execute your block objects the same way you execute a C function, as shown in the Discussion section.
We’ve seen examples of invoking block objects in Recipes 6.1 and 6.2. This section contains more concrete examples.
If you have an independent block object, you can simply invoke it just like you would invoke a C function:
void(^simpleBlock)(NSString*)=^(NSString*paramString){/* Implement the block object here and use theparamString parameter */};-(void)callSimpleBlock{simpleBlock(@"O'Reilly");}
If you want to invoke an independent block object within another independent block object, follow the same instructions by invoking the new block object just as you would invoke a C method:
/*************** Definition of first block object ***************/NSString*(^trimString)(NSString*)=^(NSString*inputString){NSString*result=[inputStringstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]];returnresult;};/*************** End definition of first block object ***************//*************** Definition of second block object ***************/NSString*(^trimWithOtherBlock)(NSString*)=^(NSString*inputString){returntrimString(inputString);};/*************** End definition of second block object ***************/-(void)callTrimBlock{NSString*trimmedString=trimWithOtherBlock ...
Read now
Unlock full access