iOS - Block

Block:保存一端代码,比方法和函数要灵活


定义一个普通的Block

普通的Block,即无参数无返回值的Block,格式如下:
返回值 (Block标识 Block名) (参数) = Block标识 参数 {代码块};
void (^myBlock) () = ^ () {};

快捷键:inlineBlock

Block作参数(把Block名提出来放在后面做参数名,其余部分做参数类型):

-testBlock:(Block类型(Block标识)(Block的参数))参数名;
-testBlock:(void(^)())myBlock;

Block调用

格式:
Block名(参数);
myBlock();

注意:Block会先把需要执行的代码保存起来,在声明和定义的时候不会调用


Block传值

  • 接收方需要设置一个属性来接收值
  • 接收方定义Block来接收值
  • 什么时候传值就在什么时候调用Block

注意:Block一般用于传值,而代理一般在封装控件的时候使用,因为代理扩展性强一些

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 3,787评论 0 23
  • 目录 Block概述 Block定义方式 Block保存代码 Block传值 Block对外部变量的传递 Bloc...
    子斌阅读 1,426评论 2 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 在我们需要在另一个页面中获取到这个页面个的数据的时候,我们就需要将这个页面通过某种形式传递给另一个页面。在这里我们...
    Joker_King阅读 5,529评论 5 16
  • 一、block的应用场景 1、对象与对象之间的通信方式 1)代理-协议,1对1 2)通知,1对多 3)block,...
    空白Null阅读 501评论 0 1