是否可以覆盖子类的类别方法?

时间:2014-04-23 09:41:06

标签: objective-c override objective-c-category

我知道不应该覆盖类别中的方法。

我想知道以下是否可行。 Objective-C的专家欢迎回答!

  1. 我有两个父/子课程:Class : ParentClass

  2. 对于每个班级,我都有一个类别:ParentClass(Category)Class(Category)

  3. 在每个类别中,我都有一个方法-(void)additionalMethod。这些方法具有相同的名称,并在类别中定义(它们不存在于类中)

1 个答案:

答案 0 :(得分:2)

来自"Customizing Existing Classes" 在“使用Objective-C编程”指南中:

  

在运行时,类别添加的方法之间没有区别   和一个由原始类实现的。

所以问题的答案是肯定的。覆盖方法之间没有区别 在子类本身或子类的类别中。如果,也没有区别 重写的方法在基类本身或基类的类别中实现。

您唯一不能做的是使用类别来覆盖同一类或该类的另一个类别的方法。