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;}