简单易学代码块(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;
}
#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;
}
相关文章推荐
- C# 委托实例(跨窗体操作控件)
- Spring in action 学习(2)创建Bean
- python re 里面match 和search的区别
- ActiveMQ学习总结(5)——Java消息服务JMS详解
- ActiveMQ学习总结(5)——Java消息服务JMS详解
- ActiveMQ学习总结(5)——Java消息服务JMS详解
- ActiveMQ学习总结(5)——Java消息服务JMS详解
- python re 里面match 和search的区别
- web.xml中的contextConfigLocation在spring中的作用
- java 文件的压缩
- 将Eclipse包括第一3正方形jar包裹Project Export并产生能够执行jar
- 杭电ACM 1041 Computer Transformation java代码详解AC
- Java的四种引用类型
- C++基本数据类型
- java常见的几种内存溢出和解决方案
- 中文文本聚类(切词以及Kmeans聚类)
- C#实现程序的版本升级更新
- Java、PHP、Python与MySQL交互的性能测试
- Stackoverflow上人气最旺的10个Java问题
- Java 理论与实践: 处理 InterruptedException