Runtime运行时系统核心价值解析

📚 共计 30 章节
第1章
Runtime初探
什么是Runtime · 核心价值 · 为什么iOS开发者要学Runtime
入门概念
第2章
消息传递机制
objc_msgSend流程 · 消息查找 · 方法缓存 · 消息转发
核心消息
第3章
isa指针与元类
isa指针结构 · 类对象与元类 · 继承链与isa走位
isa元类
第4章
Method Swizzling
原理与实现 · AOP编程 · 实际应用场景 · 常见坑点
SwizzleAOP
第5章
动态添加方法与属性
resolveInstanceMethod · 关联对象 · 动态方法解析
动态关联
第6章
KVO底层原理
KVO实现机制 · 手动触发KVO · KVO与KVC的关系
KVO观察
第7章
Category与Extension
Category加载时机 · 方法覆盖 · 关联对象在Category中的应用
Category扩展
第8章
Block的本质
Block类型 · 捕获变量 · __block修饰符 · 内存管理
Block内存
第9章
消息转发完整流程
forwardingTargetForSelector · methodSignatureForSelector · forwardInvocation
转发消息
第10章
Runtime数据结构
objc_class · objc_object · method_t · ivar_t · cache_t
结构底层
第11章
SEL与IMP
SEL是什么 · IMP是什么 · 映射关系 · 直接调用IMP
SELIMP
第12章
方法缓存机制
cache_t结构 · 散列表原理 · 缓存查找与插入 · 缓存失效
缓存性能
第13章
类加载与初始化
load方法 · initialize方法 · 两者的区别与调用时机
加载初始化
第14章
动态创建类
objc_allocateClassPair · objc_registerClassPair · 运行时添加实例变量
动态创建
第15章
归档与解档
NSCoding协议 · Runtime实现自动归档 · NSKeyedArchiver
归档NSCoding
第16章
字典转模型
Runtime遍历属性列表 · KVC赋值 · JSONModel与YYModel原理
模型JSON
第17章
Hook系统方法
利用Method Swizzling Hook系统API · 防护与安全
Hook安全
第18章
Runtime在iOS框架中的应用
UITableView · UICollectionView · UIViewController的Runtime痕迹
UIKit框架
第19章
消息转发实战
实现多继承 · 实现代理方法可选 · 实现消息防崩溃
实战转发
第20章
关联对象详解
objc_setAssociatedObject · objc_getAssociatedObject · 存储策略
关联存储
第21章
Runtime与多线程
原子性操作 · 线程安全 · 锁机制在Runtime中的应用
多线程
第22章
内存管理中的Runtime
引用计数 · weak指针实现原理 · 自动释放池
内存weak
第23章
Tagged Pointer
什么是Tagged Pointer · 优化原理 · 使用场景
优化指针
第24章
Non-pointer isa
isa的优化 · 位域存储 · ISA_MASK
isa位域
第25章
Runtime源码分析
objc4源码结构 · 关键函数解读 · 调试Runtime
源码objc4
第26章
Swift与Runtime
Swift类在Runtime中的表现 · @objc动态派发 · Swift与OC混编
Swift混编
第27章
Runtime性能优化
缓存策略 · 避免频繁消息转发 · 合理使用Method Swizzling
性能优化
第28章
Runtime调试技巧
lldb调试Runtime · 打印isa链 · 查看方法列表
调试lldb
第29章
Runtime安全防护
检测Method Swizzling · 防止Hook · Runtime混淆
安全防护
第30章
Runtime实战项目
轻量级JSON转Model框架 · AOP日志系统
实战项目