『置顶』Objective-C 底层探索集

这里主要是所有关于 Objective-C 底层探索系列文章的集合列表,用于快速访问同系列文章。

阅读全文

『置顶』数据结构与算法集

这里主要是所有关于博主曾经做过的算法题的分析文列表,用于快速访问同系列文章。

阅读全文

用 Swift 实现 LRU 缓存策略

如何用 Swift 来实现一个 LRU 缓存呢?

阅读全文

『底层探索』9 - OC 消息发送流程之消息转发

当向一个对象发送消息时,当快速查找和慢速查找都没有找到方法的 imp 时,在程序 crash 之前,还有一个消息转发流程来进行挽救,接下来我们探索一下消息转发流程。对于不开源的代码,将会用 Hopper Disassembler 来反编译可执行文件进行探索。

阅读全文

『底层探索』8 - OC 消息发送流程之慢速查找

在上篇 OC 消息发送流程之快速查找 中,如果最后没有找到方法的 imp,会跳转到 CheckMiss 或者 JumpMiss。今天将会探索这两个流程。

阅读全文

『底层探索』7 - OC 消息发送流程之快速查找

在 Objective-C 中,当我们调用一个对象的方法后,在底层经历怎样的流程呢?这就是我们今天要探索的。本文会先探索方法缓存查找,也就是快速查找流程。

阅读全文

『底层探索』6 - Cache 中的 Insert Process

在前面的文章了,我们探索了 objc_class 中的 superclass,bits,今天来探索 cache。

阅读全文

『底层探索』5 - 「类和方法」的归属问题

本文主要探索的是类的归属和方法的归属问题。

阅读全文

『底层探索』4 - 对象、类的本质和类结构

一个对象中,可以有属性,有方法,那么对象的本质是什么呢?类的本质又是什么呢?属性和方法又是存储在哪里呢?这就是我们今天探索的主题。

阅读全文

『底层探索』3 - 揭开 isa 神秘的面纱

对于 Objective-C 对象中,都存在一个 isa 指向了该对象所属的类,并且存储了类的相关信息,今天来探索一下 isa 究竟是啥?

阅读全文