如何通过遵循MVC架构绘制圆圈

时间:2011-09-28 14:10:31

标签: iphone model-view-controller uiview

我是iOS平台的新手,我听说过MVC架构。 要绘制一个圆圈,我只需创建一个单独的UIView类并覆盖drawRect:并且能够执行此操作。

但现在我想使用MVC架构重建同一个项目。主要目的是将我的模型部分与View&控制器部分。所以我可以扩展我的项目。

那我怎么能这样做呢?

任何样本申请参考?

2 个答案:

答案 0 :(得分:1)

我不确定你要分开什么。绘制圆圈通常适合MVC架构的“视图”部分,这是您已经完成的工作。例如,改变圆圈颜色的代码将存在于“Controller”部分,在iOS上是UIViewController。如果你有一些东西存储有关圆圈的样子(即大小,颜色等)的信息,可以将其视为模型的一部分,并且可以存储在自己的类中,由视图控制器拉入并传递给当它是neede时查看。

这是一个可能有用的链接。

http://www.bit-101.com/blog/?p=1969

至于模型方面,Core Data是一种可以提供帮助的技术。

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html#//apple_ref/doc/uid/TP40001075

答案 1 :(得分:0)

分离将是drawRect中的绘图代码以及模型中的大小和位置,控制器从模型中获取圆属性并请求绘图并将属性传递给视图。该模型可能是另一个类或API提供的类,如NSDictionary。

如果存在多个圆圈,则通过创建单独的模型,控制器可以进行多个绘制请求,每个模型圆圈一个。或者可以有多个视图可以绘制圆圈或不同的表示形式,例如一个视图中的圆圈文本列表和另一个视图中的图形圆圈。

许多模式似乎都是微不足道的,并且在这个简单的案例中并没有特别有用,但在现实世界的程序中工作得非常好。