Ios 我可以为自定义视图控制器创建子类吗

Ios 我可以为自定义视图控制器创建子类吗,ios,objective-c,subclassing,Ios,Objective C,Subclassing,我创建了一个名为CalendarTableViewController.h和.m的UITableViewController子类。它显示指定范围内的事件列表(例如2014年的所有事件)。我希望有两个以上的视图控制器(月和日),并堆叠在第一个视图控制器的顶部 因为这三个视图控制器都有相似的属性和行为,所以我想对我的自定义视图控制器进行子类化。这可能吗 我已经用Xcode开发了大约一年了,所以我可能错过了一些非常简单的东西。但是,我所知道的只是如何将UITableViewController子类化。

我创建了一个名为CalendarTableViewController.h和.m的UITableViewController子类。它显示指定范围内的事件列表(例如2014年的所有事件)。我希望有两个以上的视图控制器(月和日),并堆叠在第一个视图控制器的顶部

因为这三个视图控制器都有相似的属性和行为,所以我想对我的自定义视图控制器进行子类化。这可能吗

我已经用Xcode开发了大约一年了,所以我可能错过了一些非常简单的东西。但是,我所知道的只是如何将UITableViewController子类化。如何对自己的自定义视图控制器进行子类化

如果你能分享你的智慧,我将不胜感激。
Yoshi

在面向对象编程的世界中,对象被分类为层次组。对象只是简单地组织成类,而不是对不同的层次(如属或种)使用不同的术语。与人类作为家族成员继承某些特征的方式相同,可以将类设置为从父类继承功能

当一个类从另一个类继承时,子类继承父类定义的所有行为和属性。它还可以定义自己的其他行为和属性,或者重写父对象的行为

长话短说,是的,在这种情况下,您可以而且应该创建子类。这是在Objective-c in.h文件中(在新类中)所做的操作

迅速地

  class MySecondController: CalendarTableViewController {
      // subclass definition goes here
  }

我希望这会有帮助

当然可以。当您通过“新建文件”菜单项添加新控制器时,只需将CalendarTableViewController放入“的子类”字段。我发现我可能做错了什么。我手动将CalendarTableViewController重命名为MasterTableViewController,并试图使MySecondController成为MasterTableViewController的子级。但是,当我使用File>New>File>Cocoa Touch类时,它不允许我创建MasterTableViewController的子类。Xcode仍然可以识别旧名称(CalendarTableViewController),并且成功生成子类。重命名父视图控制器时我做错了什么?没关系。我得到了它。我在一些.h文件@interface声明中留下了“CalendarTableViewController”。
  class MySecondController: CalendarTableViewController {
      // subclass definition goes here
  }