IP属地:北京
我们之前分析了消息查找流程 首先,调用objc_msgSend,从cache中快速查找,命中就执行对应的imp 其次,如果cache中没有找到,...
我们在上两篇文章分析了消息的cache查找流程,也就快速查找流程,如果cache命中,那么就直接执行对应的imp,如果没有命中,那么就调用loo...
我们接着上一篇文章,继续分析objc_msgSend汇编代码,之前分析到CacheLookup,p16 = 类地址CacheLookup NOR...
通过clang将OC代码翻译成C++代码之后,我们发现,OC的方法调用的本质是消息发送的过程 clang -rewrite-objc main....
类的结构图如下 之前探索分析了isa和bits,下面来看看cache,它的偏移是16个字节0x10 一. 通过LLDB打印调用方法之后cache...
一. 成员变量 在类的原理分析(上)[http://08643.cn/p/90747a8fb978]通过LLDB调试打印了方法,...
一.我们先来研究一下isa的走位图,类的继承链,元类的继承链 1.isa的走位 现在有两个类LGPerson 和 LGTeacher,我们来打印...
OC对象本质上是一个结构,为什么这么说呢,我们来看一个简单的对象 这是一个很简单的对象,它有一个属性,我们下一步用CLang把它翻译成C++底层...
直接上图: