目标C:一个班级的几个类别

时间:2013-05-06 01:02:28

标签: ios objective-c categories

我一定是误解了Categories我在一个类上创建了一个类,用一些方法扩展它,并根据OOP指南使一些方法抽象化。但我认为只有当我#import并使用类别时才会调用该类别中的那些方法。相反,我发现当我#import并使用基类时,该类将自动调用该方法,但是在类的类别中,而不是自身。

我想要的是,如果用户尝试在没有类别的类中使用此方法,则会抛出异常。这样我可以在同一个班级上制作不同的类别 内部行为略有不同。

我只是误解了类别?

1 个答案:

答案 0 :(得分:1)

类别在没有条件或其他拾取和选择方法的情况下向类添加方法。

一旦将方法添加到类中,就不会直接删除运行时的错误。

子类继承其他方法。

如果您#import方法声明是否无关紧要。

如果您需要不同版本的类,请声明不同的子类。