Block
来源:互联网 发布:ubuntu下载火狐浏览器 编辑:程序博客网 时间:2024/06/16 02:16
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
block
/*
1. Block封装了一段代码,可以在任何时候执行
2. Block可以作为函数或者函数的返回值,而其本身又可以带输入参数或返回值
3. 苹果官方建议尽量多用block.在多线程,异步任务,集合遍历,集合排序,动画
转场用得很多;
要掌握的:
1> 如何定义block变量
int (^sumBlock)(int,int);
void (^myBlock)();
2> 如何利用block封装代码
^(int a, int b){
return a + b;
};
^(){
NSLog(@"----------");
}
^{
NSLog(@"----------");
}
3> block访问外面变量
block可以访问外面的变量
默认情况下,block内部不能修改外面的局部变量
给局部变量加上 __block关键字,这个局部变量就可以在block内部修改
4> 利用typedef定义block类型
typedef int (^MyBlock)(int,int);
//以后就可以利用MyBlock这种类型来定义block变量
MyBlock block;
MyBlock b1,b2;
b1 = ^(int a, int b){
return a + b;
};
MyBlock b3 = ^(int a, int b){
return a - b;
};
int c = b1(10,11);
*/
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
- Block
- block
- Block
- block
- block
- block
- block
- block
- block
- Block
- block
- Block
- Block
- Block
- Block
- block
- Block
- block
- 可视化编程与屏幕适配
- Combinations
- 蓝桥杯 历届试题 蚂蚁感冒
- 多线程
- 建立一个新链表和输出它的长度
- Block
- UICollectionView
- Java内存分配和String类型的深度解析
- poj 1006 Biorhythms(中国剩余定理)
- 蓝桥杯 历届试题 地宫取宝
- 如何在C#中用连接ACCESS数据库
- Thread的join()方法
- 数据结构:顺序表的操作
- mktime() [function.mktime]: It is not safe to rely on the system's timezone settings问题解决