OC 提供的 category 机制会用 category 实现的重写方法覆盖原对象的方法实现, 因为 category 在对象后加载,导致 category 的 method 实现在 method 栈的上方,所以覆盖了原对象的方法实现.
那如果多个 category 重写同一个方法会怎么样呢? 编译器是按照什么顺序来加载 category 的, 抑或是随机顺序?想要通过了解编译方式来了解这个机制.
试了一下,多个 category 的确是按照编译的顺序来覆盖方法的. 编译顺序可以从 build phases--compile source 中查看.