代码之家  ›  专栏  ›  技术社区  ›  frankodwyer

我可以用接口生成器生成视图的子类吗?

  •  0
  • frankodwyer  · 技术社区  · 15 年前

    我有一个视图,它是我在InterfaceBuilder中构建的,带有一个表视图和相关的出口等,用于显示项目列表。单击某个项目会显示该项目的详细信息。

    现在,我想构建一个非常相似的视图,其中包含相同类型的项目列表、一些附加控件以及单元格选择上的不同行为。在这种情况下,如果用户单击该项,他们将有效地使用该项作为模板来创建新项。或者,他们可以单击一个按钮来创建一个新项目。除此之外,我还想从原始视图中重用许多逻辑——例如,项目依赖于位置,并且有一个后台线程更新位置信息。

    看起来自然要做的事情是子类化原始的viewcontroller,并使用ib构建第二个视图布局。但是,在开始之前,我想知道这是否是可能的/推荐的做法?ib能识别超类中的iboutlets并让我把它们连接起来吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   pgb    15 年前

    ib将识别超类中定义的iboutlets。

    你一直这样做:在 UIViewController 在子类中为每个视图控制器定义。

        2
  •  1
  •   Tom Dalling    15 年前

    PGB正确。IB将识别超类中的出口

    至于子类化控制器是好是坏,我不确定。苹果建议对nsarraycontroller进行子类化,以改变排序/过滤行为。视图控制器不同于数组控制器,但我敢说,对视图控制器进行子类化可能是正确的做法。