12

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

我还应该考虑什么其他方法来做我想做的事情?

我正在尝试做的示例:

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

4

1 回答 1

22

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

于 2012-07-16T18:44:28.027 回答