OC语言中的block数据类型
2015-09-15 11:08
309 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------
1. block用来封装一段代码,可以在任何时候执行,建议多用block
2. block的标识是^
3. block跟函数很类似:
(1)都可以保存代码
(2)都有返回值
(3)都有形参
(4)调用方式一样
4. block的定义
(1)不带参数,无返回值的block
void(^myblock)()=^{
NSLog[@"----------"];
};
调用:myblock()
(2)带参数,有返回值的block
int(^sumblock)(int , int)=^(int a , int b){
return a+b;
};
调用:int c =sumblock(10,11)
5. typedef定义block类型
typedef int(^Myblock)(int ;int);//定义了一个Myblock类型
Myblock sumblock=^(int a , int b){ return a+b;};
Myblock minusblock=^(int a , int b){ return a-b;};
调用:sumblock(10,9)
minusblock(10,8)
6. block访问外面变量
(1)block内部可以访问外面的变量
(2)默认情况下,block内部不能修改外面的局部变量
(3)给局部变量加上_block关键字,这个局部变量就可以在block内部修改
比如_block int b=20 在block内部就可以修改b
-------
1. block用来封装一段代码,可以在任何时候执行,建议多用block
2. block的标识是^
3. block跟函数很类似:
(1)都可以保存代码
(2)都有返回值
(3)都有形参
(4)调用方式一样
4. block的定义
(1)不带参数,无返回值的block
void(^myblock)()=^{
NSLog[@"----------"];
};
调用:myblock()
(2)带参数,有返回值的block
int(^sumblock)(int , int)=^(int a , int b){
return a+b;
};
调用:int c =sumblock(10,11)
5. typedef定义block类型
typedef int(^Myblock)(int ;int);//定义了一个Myblock类型
Myblock sumblock=^(int a , int b){ return a+b;};
Myblock minusblock=^(int a , int b){ return a-b;};
调用:sumblock(10,9)
minusblock(10,8)
6. block访问外面变量
(1)block内部可以访问外面的变量
(2)默认情况下,block内部不能修改外面的局部变量
(3)给局部变量加上_block关键字,这个局部变量就可以在block内部修改
比如_block int b=20 在block内部就可以修改b
相关文章推荐
- C++微专业课程辅导(内存模型和动态内存)
- 【C++】二叉树的创建方法及其遍历的递归与非递归方法总结
- 【第3周 项目2 - 建设“顺序表”算法库】
- C++Primer第五版 6.5.1节练习
- C++Primer第五版 6.4节练习
- C++模板
- C++Primer第五版 6.3.3节练习
- C++外观设计模式模式(三)
- c++中的数据类型
- 线性表的C++实现
- C++Primer第五版 6.3.2节练习
- c++容器类
- C++中pair用法
- c++生成伪随机数的方法
- C++Primer第五版 6.2.6节练习
- C++Primer第五版 6.2.5节练习
- 绝对不要重新定义继承而来的non-virtual函数(Effective C++_36)
- C++Primer第五版 6.2.4节练习
- 浅谈 C++ 中的 new/delete 和 new[]/delete[]
- C++Primer第五版 6.2.3节练习