美文网首页iOS 进阶开发
最新libclosure-74编译调试-玩转Block源码

最新libclosure-74编译调试-玩转Block源码

作者: Cooci_和谐学习_不急不躁 | 来源:发表于2020-11-12 20:49 被阅读0次

    ① 闲着编译了最新libclosure-74

    Block 底层源码想必大家已经非常熟悉了,但是估计有很多人不知道怎么去看,更有甚者不知道在哪!

    这里首先感谢苹果开源了 : libclosure-74 尽管已经开源,但是对于像我这样的懒人来说,这个还是有点不方便理解!

    所以今天休闲之余索性就把 libclosure-74 给编译了,方便大家学习

    下载通道: libclosure-74-KCBuild

    👇我们看看效果吧

    直接点断 Block_copy

    ② clone的源码注意事项

    ⚠️大家Github 下载下来注意一下:

    • 1: 工程如果存在文件找不到就看看 Build setttingHeader Search Paths 是否是相对路径
    • 2: 下载的工程描述文件可能不能匹配,大家调整一下
    • 3: 如果新建target,需要添加依赖 :Blocks
    • 4: 编译成功不进源码: Build settting -> Enable Hardened Runtime -> No

    其他应该没有什么问题 (如果有的话提 issure 我看到会第一时间回复你 ),大家愉快的去玩转Block吧!

    ③ Block面试题

    最后留几个关于 Block 的面试题,可以把你的答案和理解写到评论区

    1: Block 的签名是什么?

    2: 编译器默认的 stackBlock 是怎么变成 mallocBlock 的?

    3: Block 捕获的外界变量经过 __block 修饰之后为什么可以修改

    4: Block 为什么用 copy 修饰 而不是 strong 或者 weak

    5: Block 捕获的变量是怎么销毁的?

    PS: 如果觉得还可以, 花一秒钟留个👍再走吧 谢咯!!!

    相关文章

      网友评论

        本文标题:最新libclosure-74编译调试-玩转Block源码

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