Block函数是一种类似于函数指针的函数,程序员只需要把需要操作的代码封装到定义的block中即可,以后需要使用时,直接调用,非常方便....
举例如下:
自定义一个无参数的block
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //第一种形式:自定义无参数的block函数类型 typedef void (^FirstBlock)(void); //创建block,并将代码封装其中 FirstBlock block = ^(void){ for (int i=0; i<5; i++) { NSLog(@"i:%d",i); } }; //调用block函数 block(); return 0; }
运行结果:
2015-10-17 18:38:35.317 自定义Block函数[2507:145127] i:0 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:1 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:2 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:3 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:4 Program ended with exit code: 0
自定义一个有参数的block
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //第二种形式:自定义有参数的block函数类型 typedef void (^SecondBlock)(int); //创建block,并将代码封装其中 SecondBlock block = ^(int length){ for (int i=0; i<length; i++) { NSLog(@"i:%d",i); } }; //调用block函数 block(5); } return 0; }
运行结果:
2015-10-17 18:38:35.317 自定义Block函数[2507:145127] i:0 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:1 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:2 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:3 2015-10-17 18:38:35.319 自定义Block函数[2507:145127] i:4 Program ended with exit code: 0
时间: 2024-10-29 10:47:45