我有一个关于如何划分我的代码的一般编程问题,通常(我正试图摆脱这个)我只是在viewController中编写它,在视图控制器中有很多很多代码。但现在我已经回顾了MVC的一些信息,但我有一些问题。
我的问题
主要是,如果我是一个视图控制器(持有一个模型和一个视图),并且在模型中我运行一个方法为视图找出一个数字显示,所以只是一个简单的int,视图将采取并显示在屏幕。为了让我的模型告诉我的观点,我应该直接从模型---->视图。或者我应该将数据返回给控制器,然后将其发送到视图吗?
最后,如果我需要将数据发送回控制器,我该怎么办呢,因为我认为模型不应该知道控制器,反之亦然。
很抱歉这个冗长的问题。感谢你的帮助。
答案 0 :(得分:0)
网上有很多关于此的信息。来自Wikipedia:
虽然MVC有不同的风格,但控制流程一般都是 如下:
- 用户以某种方式与用户界面交互(for 例如,通过按下鼠标按钮)。
控制器可能会通知模型用户操作 导致模型状态发生变化。 (例如, 控制器更新用户的购物车。)
视图查询模型以生成适当的用户 界面(例如视图列出购物车的内容)。 视图从模型中获取自己的数据。在一些实现中, 控制器可以向视图发出一般指令以进行渲染 本身。在其他情况下,视图会自动通知模型 状态(观察者)中需要更新屏幕的更改。
- 醇>
用户界面等待进一步的用户交互 重启控制流程周期。
MVC的目标是通过解耦模型和视图来减少 建筑设计的复杂性,增加灵活性和 代码的可维护性。 MVC也被用于简化设计 自主和自管系统
答案 1 :(得分:0)
只要你不使用绑定,就可以简单地为你的db-operations创建模型类,为你的interfaceobjects和一个控制器提供视图,从前面检索数据并将它放在后者中你就是结构合理。至于回来的方式:你应用程序所做的一切,都是由一种或另一种事件触发的。根据这些,您必须从您的界面( - > outlet)获取适当的值。对于其他一切,你实际上还需要进一步研究控制器和绑定。