block 块语法,可以用block去保存一段代码,或者封装一段代码.
block 实际是由c语言实现的,执行效率很高.
block 实际借鉴了函数指针的语法.
block
(^)(参数类型1 参数名1,参数类型2 参数名2…);
返回值类型 (^)();
1.没有参数,括号也不能省略
2.参数名可以省略
void(^myBlock1)(); 无参数无返回值
void(^myBlock2)(int a,int b); 有参数无返回值
int(^myBlock3)(); 无参数有返回值
int(^myBlock4)(int a,int b); 有参数有返回值
block实现
格式:
^(参数类型1 参数名1,参数类型2 参数名2….){
执行代码
};
注意{ }外面需要加;
如:myBlock1=^(){
NSLog(@"吃糖吗?");
};
block调用
myBlock1();
起别名:typedef int(^BLOCK)(int ,int );
block定义时,block块中的代码不执行,调用block的时候block块中的代码才执行.block是c语言中的函数的一种拓展.
block块内部访问变量
1.全局变量block可以直接使用,不需要加_block修饰
2.局部变量需要加__block修饰,才能在block块内部修改
3.局部变量不加__block修饰,只能使用(看),无法修改
———————————————————————————–
字面量:便利的表示方法
//字典的字面量
,躲在墙角、掩藏那孤独而又不奢怜悯的伤…