我一定是误解了Categories
我在一个类上创建了一个类,用一些方法扩展它,并根据OOP指南使一些方法抽象化。但我认为只有当我#import
并使用类别时才会调用该类别中的那些方法。相反,我发现当我#import
并使用基类时,该类将自动调用该方法,但是在类的类别中,而不是自身。
我想要的是,如果用户尝试在没有类别的类中使用此方法,则会抛出异常。这样我可以在同一个班级上制作不同的类别 内部行为略有不同。
我只是误解了类别?
答案 0 :(得分:1)
类别在没有条件或其他拾取和选择方法的情况下向类添加方法。
一旦将方法添加到类中,就不会直接删除运行时的错误。
子类继承其他方法。
如果您#import
方法声明是否无关紧要。
如果您需要不同版本的类,请声明不同的子类。