Block,简单的理解,就是一段代码块,这段代码块作为一个对象,可以在任何时候被执行。
1.block的语法
^是脱字符,是block的语法标记。
返回值(^代码块命名)(参数)=^(参数){主体代码;};
2.block的调用方式
按照普通的调用函数方式调用。
3.Block的运行顺序
基于Block的本质,是封装一段实现代码的对象。或者把Block看做定义的一个变量,一个函数。根据,定义变量,使用变量;声明函数,调用函数的原则。定义部分并不会执行,只有在调用Block的时候才会执行Block里面的实现代码块。
4.Block的另外几种表现形式
如果记不住Block的语法,可以定义一个Block的类型,类型名字就是Block的名字,比如:
Block还可以作为Objective_C 方法的参数,比如:
5.Block使用全局变量和局部变量的区别
根据上面的代码,如果block主体{}内要使用一个变量,并改变一个变量的值,有两种解决办法:1.用__block修饰局部变量
2.定义一个全局变量
6.用Block传值
在两个ViewController之间,AViewController有个Button,有个UILabel。点击Button,推出BViewController,BViewController有个UITextField和Button2,在UITextField输入字符串,点击Button2,返回AViewController,并在UILabel中显示UITextField输入的内容。
1.AViewController文件
2.BViewController文件
可以看出,在两个界面之间的反向传值,用Block很简便,