簡體   English   中英

了解iOS中的MVC設計

[英]Understanding MVC design in iOS

我正在努力使自己了解iOS的MVC,並且我想確保自己正在做的事情是適當的。

假設我有一個簡單的類,其中包含一個NSString *的NSMutableArray

@interface SimpleClass : NSObject

@property (nonatomic, strong) NSMutableArray *names;

@end

這是我的模型 是?

假設我想編寫一種方法,按字母順序對這些名稱進行排序。 此方法應該是模型中的方法,還是在數據控制器類中單獨完成? 對我來說,在模型中使用此方法會更有意義。 那么該模型是否進行實際排序,而控制器是初始化排序的地方?

聽起來對嗎?

但是,由於對數據進行排序是視圖顯示所必需的,因此這真的是模型的基本行為嗎?

讓我一一澄清您的所有疑問

問題 :假設我有一個簡單的類,其中包含一個NSString *的NSMutableArray

這是我的模型 是?

:是的,它是模型類,因為它在世界上僅用於“處理數據”的單一目的。

問題 :假設我想編寫一種方法,按字母順序對這些名稱進行排序。 此方法應該是模型中的方法,還是在數據控制器類中單獨完成? 對我來說,在模型中使用此方法會更有意義。 那么該模型是否進行實際排序,而控制器是初始化排序的地方?

:應該考慮這種方法,因為它只是根據您的需求對數據進行排序,將來某天您可能需要以其他方式對數據進行排序。 或者,您可能還需要為其他設備開發此應用程序。 並且由於某些其他要求,您可能需要以其他方式對其進行排序。 如果要在模型類或控制器類中執行此操作,則將代碼限制為可伸縮的,因此它應在視圖類中。

控制器將實現所有業務邏輯。

我希望這有幫助

如果我們想在iOS中應用MVC,我們有兩部分專門模型和viewContoller,這里視圖和控制器是在iOS中結合使用的,您可以根據需要創建單獨的視圖和控制器。

現在,在您的問題中,您將使用NSMutable數組創建一個類,該類將成為您的模型類。

現在您說要對數據進行排序,而不是可以在iOS視圖中的viewContoller上進行排序,並且控制器已合並,因此您可以對控制器部分中的數據進行操作並在視圖上顯示結果。

但是,如果要為顯示操作創建單獨的視圖,則可以創建UIView並添加到視圖控制器。

例如,如果您創建的應用程序要處理Web服務,那么您可以執行類似的操作

  1. 創建模型類,就像完成設置和獲取(屬性)數據表單服務器一樣
  2. 創建DAO(數據訪問對象),該DAO管理所有Web服務調用,並從服務器獲取數據並將其設置為模型。

  3. 在viewController(UIview控制器)中對數據進行操作並在視圖或3中顯示。crate spepate view for display data對視圖控制器中的模型數據執行所有操作,並將模型數據設置為視圖並將此視圖添加到viewcontroller。

希望這對您有更多幫助,請參閱此鏈接https://developer.apple.com/library/ios/documentation/general/conceptual/CocoaEncyclopedia/Model-View-Controller/Model-View-Controller.html

http://blog.teamtreehouse.com/ios-design-patterns-model-view-controller-part-3這可能會對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM