为了尊重MVC模式,我想将视图与控制器分离。例如
- QuestionView(从Uiview继承)
- QuestionViewController(从UiviewController继承
在我的控制器中,我设置视图self.view = ...
但是,当我在视图中按下按钮时,它应该从控制器调用方法,但视图不应该知道其控制器吗?
那么如何将视图链接到控制器?
设置按钮作为QuestionViewController的对象。
使用iOS,在大多数情况下,您只能通过子分类部分而不是视图完成工作。因此,您使用Uikit直接提供的"开箱即用"类。
这是可能的,因为:
- 布局:可以将其存储在笔尖文件中,并由控制器加载。
- 响应用户事件:UIControls具有通用的回调机制:委托和操作。"连接"是在笔尖文件中或控制器代码中进行的。
就个人而言,我只有在需要自定义图纸的情况下进行次级视图。
因此,视图实例显然"知道"其控制器,但是所有这些都是通过通用接口完成的,因此视图代码对您的控制器一无所知。