前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Block官方文档

Block官方文档

作者头像
nimomeng
发布2018-09-13 14:24:16
1.6K0
发布2018-09-13 14:24:16
举报
  1. block是匿名inline代码集合:

a) 像函数一样有定义好的参数 b) 有返回值 c) 能从定义的作用域中捕获状态(值) d) 可以修改作用域状态(值) e) 可以和统一作用域下的其它blocks共享值的变化 f) 能够在作用域(栈)被destroy后继续分享或者修改作用域

  1. 你可以引用三种类型的变量,就像从函数中引用一样:

a) 全局变量,包括静态变量 b) 全局函数(并不完全算是变量) c) 局部变量和参数(来自于一个作用域) Blocks支持另外两种变量 d) __block变量。这些在block里是可以改变的,并且在copy到堆上时是被保存过上下文的。 e) Const变量。

  1. 以下规则在block中适用:

a) 全局变量是可以访问的,包括在作用域之内的static变量 b) 传到block中的变量是可访问的 c) 对于闭包,栈上的变量(非静态)会被当成静态变量一样被捕获。这些值在block表达式产生的一刻被定格。 d) __block修饰的变量在block内仍旧是可变的。即便栈转向了堆。 e) 在block中定义的变量,和在函数中定义的变量是一样的。每一处对block的调用都会返回其中对应变量的copy。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.06.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档