前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最新libclosure-74编译调试-玩转Block源码

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

作者头像
CC老师
发布2020-11-25 11:11:00
6690
发布2020-11-25 11:11:00
举报

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

① 闲着编译了最新libclosure-74
Block 底层源码想必大家已经非常熟悉了,但是估计有很多人不知道怎么去看,更有甚者不知道在哪! 这里首先感谢苹果开源了 : libclosure-74 尽管已经开源,但是对于像我这样的懒人来说,这个还是有点不方便理解!

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

下载通道: libclosure-74-KCBuild

?我们看看效果吧

② 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 捕获的变量是怎么销毁的?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HelloCoder全栈小集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ① 闲着编译了最新libclosure-74
  • Block 底层源码想必大家已经非常熟悉了,但是估计有很多人不知道怎么去看,更有甚者不知道在哪! 这里首先感谢苹果开源了 : libclosure-74 尽管已经开源,但是对于像我这样的懒人来说,这个还是有点不方便理解!
  • ② clone的源码注意事项:
  • ③ Block面试题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档