1.Block:
1.是一种新的数据类型,用于定义变量,存储一段代码,可以在任何时候执行,Block 既可以作为函数参数或者函数的返回值,而本身又可以带输入参数或返回值,与传统的函数指针类似。
2.字面上来讲,Block 就是一个代码块,但它的神奇之处在于在内联(inline)执行的时候(这点和 c++很像)还可以传递参数。同时 Block 本身也可以被作为参数在方法和函数间传递,这就给了 Block 无限的可能性。
2.语法规则:关键符号 ^
1.无参无返回值:
//定义一个Block 变量,名称为myBlock,无参无返回值。
void (^myBlock)(void) = ^void(void){
NSLog(@"Block Running");
}
2.有参数有返回值类型:
double(^myBlock1)(int,int)=^double(int a,int b){//返回值类型是double 参数是两个int整型
// if(b!=0) return a*1.0/b;
// else return 0;
// 等效于下面的这一句。
return b?a*1.0/b:0;//如果 b 为真(即不为0)返回 a*1.0/b 否则返回0;
};
3.待续。。。
网友评论