黑马程序员技术交流社区
标题: block语法分析 [打印本页]
作者: 蒙圈的小明 时间: 2016-3-23 12:43
标题: block语法分析
int mul=7;// 定义一个常量,这个地方学完c的基本都很OK了,这里不再多说
//(^)脱字符 作用是把后面的变量声明为一个块对象
//一个无参无返回block类型 的表达是这样的 void (^ )();这个就相当于 int ,只是名字写在脱字符后面被修饰而已 void(^myblock)()
//一个完整的形式是 返回值类型 (脱字符 块对象的名字)(形参类型)=^(形参类型 形参名){ 代码块; return 返回值; };
//下面是一个返回值是整型,一个整型形参的名为myblock的代码块 ,调用就是 块对象的名字(实参); 最后打印输出
int (^myblock)(int)=^(int num){ //如果是误返回值就可以把int 换为void此处可以类比函数
NSLog(@"代码块");
return num * mul;
};
int result=myblock(6);//有返回值需要接收,返回什么类型用什么类型接收,调用方法可以类比函数调用
NSLog(@"result=%d",result);
//写一个无参数无返回值得可以类比下
void (^myblock)(void)=^(void){
NSLog(@"我是无参无返回");
};
myblock();
//当没有参数时候,括号中的void 可以省略,等号右边的小括号也可以省略
//上面的无参无返回变形后是:
void (^myblock)(void)=^{
NSLog(@"我是无参无返回");
};
myblock();
//最后说明一下起别名的问题
//还是以无参无返回为例
block的类型是 void(^ )()
起别名时候肯定是给类型起别名
typedef void(^ )() //那么名字写在哪里呢,看下面
typedef void(^ haha)() //这个haha就是block类型的别名 ,当然自己起别这么逗比,,起个有意义的,c里面应该都讲了,不再赘述
//OK这是昨天学习的一个成果,在此发帖复习下,如果有一个同学学了那就达到了我的目的
作者: songxuefeng 时间: 2016-3-24 01:06
很不错,谢谢总结.
作者: 彼岸花开 时间: 2016-3-24 01:19
总结得不错,赞
作者: 蒙圈的小明 时间: 2016-3-24 07:47
刚开始学习,要成为一名合格的程序员~~
作者: 蒙圈的小明 时间: 2016-3-24 07:48
刚开始学习嘛,感觉这个是个重要的地方
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |