iOS

block原理

2018-08-24  本文已影响13人  说不出口的喵

1  block结构:

                    impl结构    描述结构   捕获变量

                    impl结构里面有isa指针 函数指针等

                    描述结构里面有计算block大小的size等

block分为三种 分别是栈上   堆上  全局上

调用了auto临时变量就是在栈上block类型即stackblock

  没有访问调用auto就是全局block类型globalblock

调用copy就是堆上block类型即是mallocblock

2  

auto变量在block是值传递 捕获的

static是指针传递 捕获的

全局变量不用捕获 直接访问 因为是全局的。

3   

globalblock 类型调用copy 还是globalblock

mallocblock 类型调用copy 还是mallocblock 引用上加1

stackblock 类型调用copy 是mallocblock

上一篇下一篇

猜你喜欢

热点阅读