两个类别之间的优先级

问题描述:

我有一个类的两个类别(c1和c2),他们都有相同的方法 - (无效)运行 当我发送消息到这个方法,为什么响应者总是c2类? 我认为他们应该有相同的优先权。两个类别之间的优先级

+0

您的优先级是什么意思?你会期望两种方法都能运行吗? – Losiowaty

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

对类别的处理顺序没有保证,所以不要依赖它。

最后一类只有一个实现,名称为run。这个名字的确切实现取决于编译器。其他的实现会有一些其他的名字。你可以在运行时查看方法,以了解我的意思。