iOS开发中block的声明、创建、传参的基本使用
1 声明和使用一个Block(block语法iOS4.0之后推出的)
使用^操作符来声明一个block变量和指示block文本的开始。block本身的主体被{}包含着,如下面的例子那样
声明block
int (^myblock) (int)
说明
第一个int 是block的返回值
myblock是block变量
第二个int是参数
创建block
myblock=^(int a){
int result = a + a;
return result;
}
调用block
int number = myblock(4);
2 声明一个block作为参数
(1)- (void)funtion:(int ^()(int))block
(2)typedef int (^myblock)(int)
-(void)funtion:(myblock)block
创建参数传递
[self funtion:^(int a){
return a*a;
}];
3 block引用局部变量,
该变量会作为常量编码到block块中
局部变量需要使用_block修饰,才能在block块中修改。
typedef int (^myblock)(int)
_block int number = 10;
myblock = ^(int a){
}