IOS中 Block用法进阶一

时间:2023-01-30 23:37:18

        之前没有写博客的习惯,总是一些代码块存在电脑,U盘,云盘,就好像收藏古物一样,和同事朋友交流讨论到某个功能时也难一时看到代码。今后开始和刚入门的菜鸟们分享吧。


 Block是什么?

  它是一种比较特殊的数据类型。它可以保存一段代码,在合适的时候取出来调用。


 Block的定义格式

 定义格式:返回值类型(^block变量名)(形参列表) = ^(形参列表) {  };//牢记定义格式 其余的就像C方法一样调用

 调用格式:block变量名(形参列表);


  现在针对以下三种情况(按照组合,应该四种。没参数有返回值的就免了 貌似没啥意义)分别给出定义示例和调用。

1.无参数无返回值的Block:

void(^NoparamsNoBack)()=^(){
//这里就是函数体一样
NSLog(@"没有参数 没有返回值的Block");
}
//调用:NoparamsNoBack();

2.有参数无返回值的Block:

void(^paramsNoBack)(int a,int b)=^(){
//这里就是函数体
NSLog(@"a加b等于%d",a+b);
NSLog(@"有参数a和b,无返回值的Block");
};
调用:paramsNoBack(1+1);

3.有参数有返回值的Block:

int(^paramsAndBack)(int a,int b)=^(){
//这里就是函数体
NSLog(@"有参数a和b,返回值为a与b的和");};
return a+b;//有return哦
};
调用:paramsAndBack(1,1);


得了,今天到这吧