黑马程序员——OC语言中的block数据类型
2014-12-08 15:56
381 查看
------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
相关文章推荐
- OC语言中的block数据类型
- 黑马程序员——OC语言日志——NSString字符串的截取、替换,数据类型转换等一些用法
- OC语言中的block数据类型
- 黑马程序员_OC基础12_基本数据类型block
- OC语法<3.2> OC中特有的语法:Block数据类型
- 黑马程序员 OC语言 - 6 block、协议
- 黑马程序员——oc数据类型
- 黑马程序员——C语言基础(二)数据类型、常量以及变量
- OC-ARC机制、数据类型block、 protocol协议、Foudation框架
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 黑马程序员-iOS基础-C语言基础(六)-复杂数据类型及其他
- 黑马程序员——C语言基础——其他数据类型
- 黑马程序员——OC语言——block、protocol、代理模式
- 黑马程序员——OC语言------Block、protocol协议、代理设计
- 黑马程序员_iOS开发C语言基础之枚举类型和数据类型总结
- 黑马程序员——C语言基础-关键字、标识符、注释、数据类型、常量、变量
- OC中的block数据类型
- 黑马程序员_iOS开发之OC之面向对象之id语法、构造方法、@category分类、类本质、description方法和SEL数据类型
- 黑马程序员——Block数据类型
- 黑马程序员-OC语言Block