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

block(代码块)的一部分简单了解(一)

2016-02-15 10:33 387 查看
代码的简单了解

#import <Foundation/Foundation.h>
int c=0;
int main(int argc, const char * argv[]) {
@autoreleasepool {

//block声明格式:返回值类型(^block名字)(形参列表)
int (^myFun)();
// block实现:block名字=^(形参列表){};
myFun=^(){
NSLog(@"这是一个代码块");
return 1;
};
//调用:block名称(实参列表),有返回值的block,可以用一个变量接收
int a=myFun();
NSLog(@"%d",a);
//有返回值,有形参,声明和实现放一起
int (^myBlock)(int a,int b)=^(int a,int b){
return a+b;
};
//调用
int sum=myBlock(10,20);
NSLog(@"%d",sum);
//返回类型是字符串 NSString  *(^名字)(形参列表)
NSString *(^myBlock1)(NSString *s)=^(NSString *s){
NSLog(@"字符串%@",s);
return  s;
};
myBlock1(@"456");
//有一个局部变量,要在block进行值的改变
__block int b=0;
void (^myBlock2)()=^(){

b++;
NSLog(@"%d",b);
};
//有一个全局变量,在block进行值的改变
void (^myBlock3)()=^(){
c++;
};

//例如

//声明一个square的Block Pointer,其所指向的Block有一个int输入和int输出
int (^square)(int);
//将Block实体指定给square
square = ^(int a){ return a+a ; };
//调用方法。
int y = square(6);
NSLog(@"%d", y);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: