可以覆盖类别方法吗? IOS

时间:2012-07-16 17:54:44

标签: ios override objective-c-category

我正在尝试计划如何将某些方法添加到某些对象的所有实例中。我认为向父对象(UIViewController)添加一个类别可以用于我想做的事情,但是我可以覆盖这样添加的方法吗?大多数情况下,子类将使用默认方法,但我知道我需要至少重写一次该方法。

还有哪些其他方法可以考虑我想做什么?

我想要做的例子:

我有一组对象,就像日记的页面一样。这些页面是UIViewControllers的子类。我想添加加载,保存和类似的方法。在日记类(NSObject的子类)中,我有一个存储每个Journal页面实例的数组。我想要它所以我可以从数组中选择一个页面并运行方法,而不必知道具体的对象类,因为它们都应该有方法。

1 个答案:

答案 0 :(得分:22)

简短回答:是的,你可以。出于继承的目的,超类上的类别方法被视为实际在超类中定义的方法,并且可以以相同的方式重写。