
Block
文章平均质量分 95
卡卡西Sensei
这个作者很懒,什么都没留下…
展开
-
iOS底层探索之Block(五)——Block源码分析(__block 底层都做了什么?)
回顾在上一篇博客中,通过对block追根溯源,汇编跟踪调式,源码分析,对底层结构和 block的属性方法都有一定的认识, 那么本篇博客将继续对block的底层进行分析。iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)iOS底层探索之Block(二)——如何解决Block循环引用问题?iOS底层探索之Block(三)——Block的本质iOS底层探索之Block(四)——Block的探索和源码分析1. block底层探索block的结构和签名都分析完了,但是blo原创 2021-08-31 15:20:38 · 640 阅读 · 0 评论 -
iOS底层探索之Block(四)——Block的探索和源码分析
Block的本质是什么吗?__Block底层又做了什么呢?在上一篇篇博客中,已经探索到block的本质是结构体(__main_block_impl_0)继承自__block_impl,block可以捕获外部变量,通过__block修饰内部可以变更外部变量的值。 那么本篇博客将对继续对block的底层原理进行分析。iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)iOS底层探索之Block(二)——如何解决Block循环引用问题?iOS底层探索之Block(三)——Blo原创 2021-08-30 20:08:43 · 723 阅读 · 0 评论 -
iOS底层探索之Block(三)——Block的本质
Block的本质是什么吗?__Block底层又做了什么呢?在之前的篇博客中,已经介绍了block的类型,也对产生block的循环引用的问题给出了几种解决方法,那么本篇博客将对block的底层原理进行分析。iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)iOS底层探索之Block(二)——如何解决Block循环引用问题?1. 通过block底层结构看本质在分析block的原理之前,我们得看看block的底层结构是什么样的,还是老规矩 clang一下如下代码:int原创 2021-08-29 14:39:26 · 609 阅读 · 0 评论 -
iOS底层探索之Block(二)——如何解决Block循环引用问题?
Block你知道几种?Block的循环引用你有几种解决办法呢?iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)在上一篇博客已经介绍了block的类型,那么本篇博客废话不多少直接进入主题,如何解决Block循环引用的问题。1. 为什么会出现循环引用分析1.1 正常情况在正常情况下,A持有了B,B的引用计数+1,当 A释放的时候给 B发送信号,B 接受到 release信号后,引用计数-1。正常使用,正常释放是不会出现循环引用问题的,但是如果出现你中有我,我中有你的原创 2021-08-28 09:14:43 · 875 阅读 · 0 评论 -
iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)
说在前面Block你知道几种?Block的循环引用你有几种解决办法呢?在上一篇博客结束了多线程的锁篇章的内容,最后也带大家手写了读写锁,那么从现在开始,将开启Block的探索篇章!1. 什么是 Block?Block就是一个代码块, Block是将函数及其执行上下文封装起来的对象,是一个匿名的函数对象, Block也有isa。既然Block内部封装了函数,那么它同样也有参数和返回值,本身也可以被作为参数在方法和函数间传递。具体的内容,后续的博客中会重点分析,这里就先不展开了!2. 你知道几种 bl原创 2021-08-27 13:12:08 · 1094 阅读 · 2 评论