自从我记得以来,我一直在制作iOS应用程序,但直到最近才有实习编程,我的编程风格还没有很成熟。我很早就学会了许多面向对象的概念,因为我意识到生活中对他们的理解吸引了很多,但是我从来没有学过的东西是MVC模式。什么应该拥有MVC模式中的模型?
为了给出上下文,假设我在单个SolarSystemView
(UIView
的一个子类)内绘制太阳系。我的SolarSystemView
是否有一个SolarSystem
类的实例变量(一个包含具有所有重要行星和stelar属性的数据结构的类),还是应该属于SolarSystemViewController
的实例?或者是完全不同的东西?我找不到任何示例代码可以给出满意的答案。
我想如果视图拥有模型,操作将会非常流畅,但是这也不会让你感觉像样式不错。毕竟,SolarSystem
实例必须以某种方式动态更改,并且具有与SolarSystemView
更新相同或相似的速率。
这完全覆盖了我所问的;我有一个额外的调查。应该做什么“滴答”?显然需要为行星继续前进打个勾。如果我理解正确,那将是拥有一个计时器的控制器,此时它会要求模型改变,然后从模型中检索数据并将其显示在屏幕上,对吧?这可能是一个单独的问题的内容。 – 2013-03-19 13:33:30
@CarterPape是的,这听起来对我来说是正确的。控制器通常会处理对模型的更新,然后通知依赖它进行更新的视图。例如,一个游戏的运行循环会存在于Controller中,并且每一帧都会通知游戏中的代理(Model)自行更新,然后通知View(例如GLKView)自行更新。 – Metabble 2013-03-19 17:37:25