iOS:Block 循环引用问题

2019-04-07
阅读 4 分钟
4.4k
循环引用是一个比较常见的问题,之前面试的时候也会被问到,如何解决循环引用问题,其实大家都知道使用__block,__weak这些修饰符可以解决循环引用问题,那今天我们要讨论的就是他们是怎么样解决了循环引用问题的。

iOS:Block __block修饰符

2019-04-07
阅读 4 分钟
15.2k
__block修饰符 上一篇文章中说过,auto类型的局部变量,可以被block捕获,但是不能修改值。 __block可以解决block内部无法修改外部auto变量的问题。 {代码...} 用法就是这么简单,这样我们修改age为20的时候,打印也是20。 我们看看编译后的代码。 {代码...} 在block内部多了一个指向__Block_byref_age_0类型结构体的age...

iOS:Block变量捕获

2019-04-07
阅读 3 分钟
2.6k
这篇博客我们从一个很常见的题目入手。 {代码...} 这个题目就涉及到了block内访问外部变量,block有个变量捕获机制, 我们新建一个mac的命令行工程,把上面代码写进去,然后用clang把main.m文件编译为cpp的文件看一下。 具体的block底层结构上一篇文章我们已经说过了,这里我们针对结构就不在赘述,直接说核心点。 auto...

iOS:Block的本质

2019-04-04
阅读 3 分钟
2.6k
我们项目中经常使用block来进行回调传值,之前我对block的认识也就仅仅的停留在基础的层面,包括简单的使用和一些基本的避免循环引用的方法,这篇博客是我在对block进行了更深一层的学习之后的记录和总结,希望对大家有所帮助。