【发布时间】:2017-03-16 11:51:39
【问题描述】:
我有两个类别(c1 和 c2)作为一个类,它们都有相同的方法 -(无效)运行 当我向这个方法发送消息时,为什么响应者总是 c2 类别? 我认为它们应该具有相同的优先级。
【问题讨论】:
-
优先级是什么意思?您希望这两种方法都运行吗?
标签: ios objective-c objective-c-category
我有两个类别(c1 和 c2)作为一个类,它们都有相同的方法 -(无效)运行 当我向这个方法发送消息时,为什么响应者总是 c2 类别? 我认为它们应该具有相同的优先级。
【问题讨论】:
标签: ios objective-c objective-c-category
类类别中的方法按照它们被发现的顺序添加到类中。与现有方法具有相同名称(选择器)的方法将简单地用新找到的方法替换早期的实现。
无法保证处理类别的顺序,因此切勿依赖它。
【讨论】:
最后一个类只有一个名为 run 的实现。这个名称的确切实现取决于编译器。其他实现将有一些其他名称。你可以在运行时查看方法来理解我的意思。
【讨论】: