什么是Block

Block是iOS中一种比较特殊的数据类型

Block是苹果官方特别推荐使用的数据类型,应用场景比较广泛

  • 动画
  • 多线程
  • 集合遍历
  • 网络请求回调

Block的作用

  • 用来保存某一段代码,可以在恰当的时间再取出来调用
  • 功能有点类似于函数和方法

基本使用

  • Block的组成要素跟函数类似
    • 返回值
    • 形式参数
    • 实际参数
  • Block的定义格式
    • 返回值类型 (^Block变量名)(形参列表) = ^(形参列表) {
    • };
  • 调用Block保存的代码
    • block变量名(实参);
  • 使用typedef定义Blcok类型
    • typedef返回值类型 (^block类型名称)(形参列表);

使用注意

  • 默认情况下,Block内部不能修改外面的局部变量
  • Block内部可以修改使用__block修饰的局部变量
原文地址:https://www.cnblogs.com/saurik/p/4832125.html