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

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

阅读全文

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

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

阅读全文

『底层探索』15 - GCD 中队列、Block 的用法和区别

本文主要是探索和分析串行队列、并行队列、同步、异步之间的组合情况。

阅读全文

『底层探索』14 - KVO 底层探索

在 Objective-C 中,我们经常用 KVO 来观察对象的属性,当属性发生变化的时候,我们做做一些 UI 更新事情。那么在底层,它是怎么实现的呢?

阅读全文

『底层探索』13 - KVC 底层探索

在 iOS 项目开发中,我们经常用 setValue:forKey:value:forKey: 来访问对象的属性或成员变量,那么这两个方法的底层执行流程是怎样的呢?

阅读全文

『底层探索』12 - 初探类加载

当可执行文件加载到内存后,dyld 会执行一系列的链接和初始化的流程,这其中也涉及到了类的加载,今天探索类是如何被加载的?

阅读全文

『底层探索』11 - iOS App 启动流程分析一

我们都知道 iOS App 程序的入口是 main 函数,其实在 main 函数之前还有很多步骤要做,做完才会调用我们的 main 函数进入主程序,今天就探索 main 函数之前的流程。

阅读全文

『底层探索』10 - Mach-O 文件分析

不同的系统下,可执行文件的格式也是不同的。我们今天探索的是 iOS 的 Mach-O 文件格式。

阅读全文

用 Swift 实现 LRU 缓存策略

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

阅读全文

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

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

阅读全文