block的基本形式如下 (^参数类型){ return 参数主体;}(参数);//Block实体形式如下:^(传入参数列){行为主体}; 这个是网上说
比如我想计算 a*a,就算a的平方,那么可以这么写 (^int a ){return a*a;}(6);
代码如下:
int m=^(int a){return a*a;}(6);
NSLog(@"=====:%d",m);
网上还说,block pointer 指针 ,原理个人认为就是定义一个block 类型的指针,指针指向一个block基本类型的方法 比如上面那个 (^int a){return a*a; }(6);可以定义一个block pointer 指向这个基本类型的方法 int (^ square) (int);square=(^int a){return a*a;}(6);
代码如下:
int (^square)(int);
square=^(int a){return a*a;};
int w=square(5);
NSLog(@"%d",w);