您的位置:首页 > 编程语言

简单易学代码块(block)

2015-11-04 13:38 323 查看
这是我列写的一些代码块的简单使用,易学,易懂。

#import <Foundation/Foundation.h>
int f=10;
int main(int argc,
const char * argv[]) {

@autoreleasepool {

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//block声明格式:返回值类型 (^blaock名字) (形参列表)

int (^block1)(int a,int b);

//block实现: block 名字 = ^(形参列表){};
block1=^(int a,int b){

return a+b;
};

//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收

int s=block1(3,5);

NSLog(@"%d",s);

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//有返回值,有形参,声明和实现放一起

int (^block2)(int c,int d)=^(int c,int d){

return d+20;
};

int ss=block2(30,150);

NSLog(@"%d",ss);

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//返回值类型是字符串 NSString *(^名字)(形参列表)

NSString *(^block3)(NSString *str)=^(NSString *str){

NSLog(@"打印自画像%@",str);

return str;
};
block3(@"雄赳赳,气昂昂");

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//有一个局部变量,要在block进行值的改变

__block int e=2;

int (^block4)()=^(){
++e;

return e;
};
block4();

NSLog(@"%d",e);

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//有一个全局变量,在block进行值的改变

int (^block5)()=^(){

f++;

return f;
};
block5();

NSLog(@"%d",f);

//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: