Runtime运行时架构设计解析
📚 共计 30 章节
01
Runtime初探
什么是Runtime · 历史与演进 · iOS核心地位
概念
起源
02
Runtime的核心概念
isa指针 · 元类(MetaClass) · 类与实例关系
isa
元类
03
消息传递机制
objc_msgSend底层 · 查找流程 · 快速/慢速查找
消息
汇编
04
消息转发机制
动态方法解析 · 备用接收者 · 完整转发
转发
动态
05
Method Swizzling
原理详解 · 应用场景 · 坑与最佳实践
Swizzle
AOP
06
关联对象(AssociatedObject)
原理 · API详解 · 内存管理策略
关联
属性
07
KVO底层实现
自动键值观察 · 手动触发KVO
KVO
观察
08
KVC底层原理
setValue:forKey: · valueForKey: 查找流程
KVC
键值
09
Category的本质
分类加载时机 · 方法覆盖 · 同名方法处理
Category
分类
10
Block的本质
类型 · 截获变量 · __block · 内存管理
Block
闭包
11
NSCoding与归档
Runtime序列化 · 自动归档与解档
归档
NSCoding
12
字典转模型
Runtime实现JSON转Model底层原理
JSON
Model
13
动态添加方法与属性
class_addMethod · class_addIvar 实战
动态
添加
14
获取类的所有属性/方法
class_copyPropertyList · class_copyMethodList
反射
列表
15
IMP与SEL
函数指针与选择子 · 直接调用IMP提升性能
IMP
SEL
16
Type Encodings
类型编码详解 · @encode指令的使用
编码
类型
17
消息发送的优化
Tagged Pointer · 非指针isa · 消息缓存
优化
缓存
18
类的加载与初始化
load · initialize 区别与调用时机
load
initialize
19
Runtime与多线程
原子性 · 线程安全的消息发送
多线程
安全
20
内存管理中的Runtime
引用计数 · 弱引用表 · 自动释放池
内存
ARC
21
Swizzle的进阶
类簇Swizzle · C函数Hook
进阶
Hook
22
AOP面向切面编程
日志 · 统计 · 权限控制
AOP
切面
23
热修复原理
JSPatch · Mango等Runtime基础
热修复
动态
24
动态代理与消息转发
NSProxy的使用场景
代理
NSProxy
25
Runtime在第三方库中的应用
AFNetworking · SDWebImage · YYModel
AFN
SDWebImage
26
调试与逆向
Runtime调试技巧 · lldb交互
调试
lldb
27
性能优化
减少消息发送开销 · 缓存IMP · 避免动态解析
优化
缓存
28
Swift与Runtime
Swift类Runtime表现 · @objc · dynamic
Swift
@objc
29
Runtime源码导读
objc源码结构 · 关键数据结构解析
源码
objc
30
Runtime实战项目
构建轻量级JSON转Model框架
实战
项目