--------Block传值
1.Block介绍
Block是iOS4.0之后新增的一种语法结构,也称为『闭包(closeure)』 (闭包就是能够读取其他函数内部变量的函数)
SDK4.0新增的API大量使用了Block
Block是一个匿名的函数代码块,此代码块可以作为参数传递给其他对象
2.Block使用的好处
(1)用block作为回调函数,可以使得程序员在写代码更顺畅,不用中途跑到另一个地方写一个回调函数,有时还要考虑这个回调函数放在哪里比较合适。采用block,可以在调用函数时直接写后续处理代码,将其作为参数传递过去,供其任务执行结束时回调。
(2)采用block作为回调,可以直接访问局部变量。比如我要在一批用户中修改一个用户的name,修改完成后通过回调更新对应用户的单元格UI。这时候我需要知道对应用户单元格的index,如果采用传统回调方式,要么需要将index带过去,回调时再回传过来;要么通过外部作用域记录当前操作单元格的index(这限制了一次只能修改一个用户的name);要么遍历找到对应用户。而使用block,则可以直接访问单元格的index。
3.Block适用的场合
(1)任务完成时回调
(2)处理消息监听回调处理
(3)错误回调处理
(4)枚举回调
(5)视图动画、变换
(6)排序
4.Block传值代码示例
FirstViewController.m文件
SecondViewController.h文件