两个类别之间的优先级

时间:2017-03-16 11:51:39

标签: ios objective-c objective-c-category

我有一个Class的两个类别(c1和c2),它们都有相同的方法 - (无效)运行 当我向此方法发送消息时,为什么响应者始终是c2类别? 我认为他们应该有同样的优先权。

2 个答案:

答案 0 :(得分:1)

类中的方法按照查找顺序添加到类中。与现有方法具有相同名称(选择器)的方法将简单地将先前的实现替换为新找到的方法。

不保证处理类别的顺序,所以永远不要依赖它。

答案 1 :(得分:0)

最后一个类只有一个名称为运行的实现。具有此名称的确切实现取决于编译器。其他实现将有一些其他名称。你可以在运行时查看方法来解读我的意思。