Home Objective C block
Post
Cancel

Objective C block

关于Block

底层结构是OC对象

封装了函数及函数的执行环境

关于变量捕捉

访问局部变量就会捕捉,全局变量则不会

静态变量的捕捉方式:引用传递或地址传递

关于在Block内修改捕获的变量的值

需要用__block修饰

关于__block

用__block修饰的对象将被包装为一个OC对象

暴露给程序员的那个变量也正是这个结构中的

关于Block的类型

GlobalBlock

没有访问auto变量,换句话锁其访问的变量在全局区

StackBlock

访问了auto变量

MallocBlock

stackblock被拷贝到对上就是MallockBlock

This post is licensed under CC BY 4.0 by the author.