这篇文字不扯淡,不讲runtime是什么,只总结下runtime 可以用来干什么。
这几篇文章写的很好,
Objective-C Runtime
Method Swizzling 和 AOP 实践
南大(南锋子)的一系列文章(打开稍慢)
[精通Objective-C]进阶技巧:使用运行时系统API
然后饶神总结的也不错,里面好多干货
iOS 基础知识点网址
美团技术团队
深入理解Objective-C:Category
深入理解Objective-C:方法缓存
Obj-C Optimization: IMP Cacheing Deluxe
杨小鱼(玉令天下)
Objective-C Runtime
1,获取类属性列表、值、方法
2,替换已有函数(包括系统方法)
可以把系统方法替换为我们自己的方法。
3,动态挂载对象
4,动态创建类 KVO 底层实现原理
5,自动归档、归档解档
[coder encodeObject:value forKey:propertyName];
[self setValue:value forKey:propertyName];
统一为property添加方法 不用一个个的写 demo地址
6,给分类添加属性
7,字典转模型
同样是获取类的属性,然后调用 [instance setValue:value forKey:key] 赋值 demo地址