这些天我一直在用自己的方式进行iOS编程,我不确定我的程序实现策略是否是最好的方式。
根据我的理解,模型应该是一个单独运行的程序,也就是说,如果我通过提供必要的输入来通过命令行调用它的函数,那么程序应该自动执行并产生所需的结果。
有几次,我发现我的模型和VC交织在一起。也就是说,尽管VC纯粹处理视图和用户输入,并相应地调用模型中建立的函数,但在我看来,如果没有视图,模型将无法独立运行。
我的问题基本上是从这个怪癖中提出来的,你们是坚持让你们的模型独立于View控制器运行,还是让它们相互干扰和相互依赖是可以的。
发布于 2012-07-27 19:19:58
我理解你的问题,因为我也在为同样的问题而挣扎。但是你使用的语言太模糊了,不能给出一个好的答案。
例如,你说“我发现我的模型和VC交织在一起”。你说的“交织”到底是什么意思?视图控制器知道模型的接口并与其交互。这很正常,对吧?
简短/模糊的答案是,你的视图控制器不应该做任何“模型”的事情(处理数据和计算),你的模型不应该做任何视图或控制器的事情(担心按钮按下,加载PNG,等等)。
当你说“在我看来,模型在没有视图的情况下不会独立工作”时,这对我来说也太含糊了,我无法具体解决这个问题,但即使是设计良好的模型也只是“坐在那里”。他们需要一些东西来刺激他们,并与他们互动。这可能是一种情况下的测试代码,也可能是另一种情况下的View Controller。这并不意味着你做错了什么。
如果你在SO上查看你的问题的右栏,你会看到至少10个关于MVC的类似问题,所以去做一些阅读:)
https://stackoverflow.com/questions/8024265
复制相似问题