1 前言
本文将介绍如何函数调用Block Object以及Block Object调用Block Object。
2 代码实例
TestDemo.h
#import <Foundation/Foundation.h> @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; }
运行结果
2013-05-10 06:53:50.893 CallBlockObjectTest[591:303] Trimmed string = Archy
3 结语
以上就是所有内容,希望对大家有所帮助。