0

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

我想要的是,如果用户尝试在没有类别的类中使用此方法,则会引发异常。通过这种方式,我可以在同一个类上创建不同的类别,但内部行为略有不同。

我只是误解了类别吗?

4

1 回答 1

1

类别将方法添加到类中,没有条件或其他选择方式。

一旦将方法添加到类中,除了直接与运行时进行混搭外,没有任何删除。

子类继承了额外的方法。

#import方法声明与否无关紧要。

如果你想要一个类的不同版本,声明不同的子类。

于 2013-05-06T01:48:11.317 回答