2011-09-28 41 views
0

我是iOS平臺的新手,我聽說過MVC架構。 要畫一個圓,我只是創建一個單獨的UIView類並重寫drawRect:並能夠做到這一點。如何通過以下MVC架構繪製圓圈

但是現在我想用MVC體系結構重建同一個項目。主要目的是將我的模型部分從視圖中分離出來&控制器部分。所以我可以擴展我的項目。

那麼我該如何做到這一點?

任何示例應用程序供參考?

+0

這對我沒有多大意義。繪製一個圓圈,只是視圖的一部分。繪製一個圓圈沒有涉及的模型或控制器。您需要MVC更復雜的東西。 – Ishtar

+0

其實我想改變它的形狀,大小和顏色。然後可以在圓上執行各種操作,如旋轉,縮放,平移...最後將所有數據保存在持久存儲區中,例如NSCoding/NSKeyedArchiver。 – user930195

回答

1

我不確定你想分開什麼。繪製一個圓圈通常會適合MVC架構的「視圖」部分,這是您已經完成的任務。例如,將改變圓的顏色的代碼將存在於「控制器」部分中,該部分在iOS上是UIViewController。如果你有東西存儲圓圈看起來像什麼(即大小,顏色等)的信息,那麼可以將其視爲模型的一部分,並可以存儲在它自己的類中,由視圖控制器拉入並傳遞給查看什麼時候它是neede。

以下是可能有所幫助的鏈接。

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

至於事物的模型方面,核心數據是一種技術,可以提供幫助。

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

0

的分離將是在一個模型中的drawRect繪圖代碼和的大小和位置與控制器獲得該圓從模型屬性以及請求該圖並傳遞屬性到視圖。該模型可能是另一個類或API提供的類,如NSDictionary。

通過創建一個單獨的模型,如果有多個圓圈,控制器可以進行多個繪製請求,每個模型圈一個。或者可能存在多個視圖,即圓圈將被繪製在不同的表示中,例如一個視圖中歸屬的圓圈的文本列表以及另一個視圖中的圖形圓圈。

許多模式看起來微不足道,並不是特別有用,但在真實世界的程序工作中很不錯。