[转载] 深入理解Objective-C:方法缓存
摘要
只要用到Objective-C,我们每天都会跟方法调用打交道。我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知。本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现。
简介
本文系学习Objective-C的runtime源码时整理所成,主要剖析了Objective-C在runtime层的方法决议过程和方法缓存,内容包括:
- 从消息决议说起 
- 缓存为谁而生 
- 追本溯源,何为方法缓存 
- 缓存和散列 
- 十万个为什么 
- 缓存 - 性能优化的万金油? 
- 优化,永无止境