0

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

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

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

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

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

4

2 回答 2

0

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

这是可能的,因为:

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

就个人而言,我只在需要自定义绘图时子类化视图。

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

于 2012-11-03T08:10:05.640 回答
0

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

于 2012-11-03T07:41:27.630 回答