与控制器分开查看

时间:2012-11-03 07:07:54

标签: iphone ios xcode model-view-controller

为了尊重MVC模式,我想将视图与控制器分离。 例如

  • QuestionView(继承自UIVIew)
  • QuestionViewController(继承自UIViewController

在我的控制器中,我设置了视图self.view = ...

但是当我在视图中按下一个按钮时,它应该从控制器调用一个方法但该视图不应该知道它的控制器吗?

那么如何将视图链接到控制器?

2 个答案:

答案 0 :(得分:0)

以编程方式将按钮目标设置为QuestionViewController的对象。

答案 1 :(得分:0)

在大多数情况下,使用iOS,只需对控制器部分进行子类化而不是视图,即可完成工作。所以你直接使用UIKit提供的课程“开箱即用”。

这是可能的,因为:

  • 布局:这可以存储在Nib文件中并由控制器加载。
  • 响应用户事件:UIcontrols具有通用回调机制:委托和操作。 “连接”可以在nib文件中进行,也可以在控制器代码中进行。

就个人而言,我只需要在需要自定义绘图时继承视图。

因此,View INSTANCE显然“知道”了它的控制器,但它都是通过通用接口完成的,因此视图CODE不知道你的控制器。