1 前言

本文将介绍如何函数调用Block Object以及Block Object调用Block Object。

2 代码实例

TestDemo.h

#import 
@interface TestDemo : NSObject- (void) callSimpleBlock;- (void) callTrimBlock;@end

TestDemo.m

#import "TestDemo.h"@implementation TestDemo/*************** 方法调用Block Object Start ***************/void (^simpleBlock)(NSString *) = ^(NSString *paramString){    /* Implement the block object here and use the paramString parameter */    NSLog(@"%@",paramString);};- (void) callSimpleBlock{    simpleBlock(@"Archy");}/*************** 方法调用Block Object End ***************//*************** Block Object调用Block Object Start ***************/NSString *(^trimString)(NSString *) = ^(NSString *inputString){    NSString *result = [inputString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];    return result;};                        NSString *(^trimWithOtherBlock)(NSString *) = ^(NSString *inputString){        return trimString(inputString);};- (void) callTrimBlock{        NSString *trimmedString = trimWithOtherBlock(@" Archy ");        NSLog(@"Trimmed string = %@", trimmedString);}/*************** Block Object调用Block Object Start ***************/@end

main.m

int main(int argc, const char * argv[]){    @autoreleasepool {                TestDemo *test = [[TestDemo alloc] init];//        [test callSimpleBlock];        [test callTrimBlock];    }    return 0;}