【问题标题】:The priority between two Categories两个类别之间的优先级
【发布时间】:2017-03-16 11:51:39
【问题描述】:

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

【问题讨论】:

  • 优先级是什么意思?您希望这两种方法都运行吗?

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


【解决方案1】:

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

无法保证处理类别的顺序,因此切勿依赖它。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2021-12-16
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多