iOS 底层原理 文章汇总[//www.greatytc.com/p/412b20d9a0f6] 本文主要介绍block的类型、循环引用的解决方法以及block底层...
iOS 底层原理 文章汇总[//www.greatytc.com/p/412b20d9a0f6] 本文主要介绍block的类型、循环引用的解决方法以及block底层...
在上一篇文章[//www.greatytc.com/p/2749b337fd9e]中,我们分析了类的加载,并且已经摸到了分类的信息,那么是怎么加到我们类里面去的呢,...
在上一篇文章中,我们了解了objc和dyld的关联,那么关联之后怎么对类进行加载的呢, 本篇将对类的加载进行探索和分析。 在上一篇文章中我们通过objc_init里面的_dy...
在上一篇文章中,我们知道了dyld是苹果的动态链接器,以及讲到了链接镜像文件和整个的加载流程。 那么dyld是怎么和objc进行关联的呢,这篇文章就来了解一下。 dyld在加...
在讲dyld流程之前,我先提一个问题,就是在我们程序运行的时候,在main函数之前,会先走ViewController的load方法, 再走C++的方法,这是为什么? 带着这...
在上一篇文章中,我们了解了方法的慢速查找流程以及动态方法决议,在动态方法决议之后其实还不会崩溃,后面还会走到消息转发流程, 这一篇文章就来了解一下消息的转发机制。 在讲解消息...
count >> 1 应该代表的是右移 1位 ,你注释上写的是左移
iOS-底层原理 13:消息流程分析之慢速查找iOS 底层原理 文章汇总[//www.greatytc.com/p/412b20d9a0f6] 在上一篇iOS-底层原理 12:objc_msgSend流程分析之...
在快速查找流程中,如果缓存命中了还好说,那么如果命不中呢,就会到我们的objc_msgSend慢速查找流程,这篇文章就好好来分析是怎么进行慢速查找的 快速查找中如果没有找到方...
在上一篇文章中,我们了解了cache的写入流程,那么是怎么进行方法的查找呢,接下来我们在这篇以及下面的文章来进行探讨,本篇文章先对方法的快速查找进行分析。 在分析之前,先来说...
前两篇文章中,我们对类结构进行了分析,objc_class里面有isa、superclass、cache、和bits, 在上两篇文章中我们主要分析了bits,那么今天我们来看...
在上一篇文章中我们已经探讨了isa的走向和类的结构分析,这一篇我们讲继续探索,然后分享两个经典的面试题。 上次文章结尾留下个问题,就是没有打印出成员变量,是怎么回事呢,其实它...
对象和类的分析 1、alloc 流程图[//www.greatytc.com/p/40ee604c5fa6] 2、结构体内存对齐[https://www.jians...
今天给大家带来类的结构分析 我们在之前内容中已经得知isa里面存着类信息,那么我们今天好好对类来分析分析。 首先,我们先用 isa & ISA_MASK 拿到类信息,相信这...
在开始讲之前,我们先来了解一个牛逼的编译器,Clang: 大致内容在这张图片上讲的很清楚了,接下来就用一个命令把它整出来,那就是 用` clang -rewrite-objc...
这周工作比较忙,加上之前从来没写过博客,所以不怎么会写,现在就先以文字写,后面通过学习写博客慢慢会改善成图文的形式,给我点时间,也许下一篇就是了,哈哈哈哈哈,谢谢大家了! 首...
首先,先下载objc-781源码进行调试,你才知道整个流程的来龙去脉。 然后点进alloc方法里面,得知一系列的方法调用_objc_rootAlloc ->callAlloc...