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这是昨天学习的一个成果,在此发帖复习下,如果有一个同学学了那就达到了我的目的
|