iOS中的Block

2018-03-04  本文已影响0人  zzz_zk

Block的种类

但GlobalBlock和StackBlock区别在哪里呢?实际上stackBlock会在block内部用一个结构体__main_block_impl_0保存外部变量,但没有对外部对象持有引用,所以变量引用计数不变。
注意一点
关于block引用外界变量的问题,其实也分很多情况,比如引用的外界变量是static修饰的变量或者全局变量的话,它依然是GlobalBlock。

Ref
让我们来深入浅出block吧 - 简书
block使用小结、在arc中使用block、如何防止循环引用 - CSDN博客
Block基础和retain cycle(循环引用) - 简书
谈Objective-C block的实现 | 唐巧的博客
__block存储类型 - Nonato - 博客园
Block 原理详解 - CSDN博客
Block基础和retain cycle(循环引用) - 简书
block没那么难(三):block和对象的内存管理 - 作业部落 Cmd Markdown 编辑阅读器
正确使用Block避免Cycle Retain和Crash - Cooper’s Blog
【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?(获奖公布) | 灌水大厅 - CocoaChina CocoaChina_让移动开发更简单
clang -rewrite-objc的使用点滴

上一篇下一篇

猜你喜欢

热点阅读