9

我已經閱讀了迄今爲止關於MVC設計模式的幾個資源,用於iPhone應用程序開發。然而,我有一個問題與iPhone開發上下文中的MVC模型部分相關。MVC在iPhone開發上下文

首先,我想說什麼,我覺得MVC的,

型號:是關係到我們對我們的應用程序的對象數據。例如:火車模擬器的應用比,每個模擬列車都具有自己的屬性,並將保存在列車模型中。

控制器:的東西,它控制用戶界面的更新。它保留對Train模型的引用並檢查模型中的任何更改,如果不是更改該特定列車的View。它會不斷檢查任何UI輸入,以便可以更改Model內部的數據。

查看:這是相當明顯的查看所有關於UIView,我們在屏幕上看到的。

enter image description here

現在的問題是...

不會型號必須是持續的被視爲一個模型?或者我可以 有一個沒有任何持久性變量的類。但願 被視爲型號爲好,或者模型必須存儲在某個地方像 在CoreData或.txt文件等....

感謝任何投入!

回答

7

不會型號必須是持續的被視爲一個模型?

只要您的控制器可以支持它,它可能會改變或轉換。

模型必須存儲在某個地方像在CoreData或.txt文件

不是。

如果適用,您可以使用任何型號。型號是您的實際邏輯/數據庫/網絡訪問/ blablabla的只是一個抽象...

+0

謝謝,短而甜! – doNotCheckMyBlog

3

否,MVC背後的想法實際上並沒有涉及到數據庫,儘管這是通常的。該模型應該捕獲所有的業務邏輯。如果你正在構建一個計算器,視圖是顯示和按鈕,模型是知道如何加和減的代碼的一部分,而控制器是連接這兩者的一部分。沒有涉及持久性。

3

沒有,模型並不一定是持久的。

在理論上是個好方式開始新的項目將使用非持久化模型的簡單性。然後,當您將模型更改爲持久性時,您不必對視圖或控制器進行任何更改,因爲您將設計界面以不知道模型的細節。

在實踐中,如果您計劃在模型中使用核心數據,那麼在iPhone上使用核心數據並不是一個好主意。核心數據需要你以一種不同的方式設計你的課程。即使您在更改模型時不必對視圖和控制器代碼進行很多更改,也必須對模型進行大量代碼更改。如果你知道你將使用核心數據,最好馬上開始。