美文网首页
Block官方文档

Block官方文档

作者: nimomeng | 来源:发表于2016-06-26 17:56 被阅读81次
    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。

    相关文章

      网友评论

          本文标题:Block官方文档

          本文链接:https://www.haomeiwen.com/subject/qqfzdttx.html