2013-03-19 42 views
-2

我正在尋找一個工具,可能是Windows和Macintosh的免費工具,可以幫助我創建MVC模型。 通過模型: enter image description here 我要繪製成才這樣的: enter image description here 所以我想描述的所有互動,對象,方法,委託和通知。 任何人都可以建議我一些?是否有可用於爲Objective-C創建MVC模型的工具?

否則你如何創建你的算法?現在我直接開發而沒有寫任何東西,但現在我想開始做。

+0

請評論降級 – 2013-03-19 11:29:34

+0

不是我低估了,但MVC幾乎是一個抽象概念,它取決於你實現該設計模式。 – Fonix 2013-03-19 11:39:12

+0

可能是我錯了,但蘋果與它的ViewControllers和Nib的架構是不是一個MVC模型化? – 2013-03-19 11:39:15

回答

0

Xcode中有你需要的一切:

對於模型 - 使用Core Data.xcdatamodel

對於查看 - 使用Interface Builder和storyboards

對於控制器 - 子類UIViewController並對其進行編碼。通過故事板,您有時甚至不需要定製控制器。

+0

核心數據不是強制性的在iOS上做MVC ... – 2013-03-19 11:43:48

+0

不要以爲他暗示它是強制性的,你確實可以使用數據庫而不是核心數據或任何你想要的,這個問題是難以置信的模糊,因爲它是 – Fonix 2013-03-19 11:45:59

+0

它不是強制性的,但我會強烈推薦它爲大多數項目。 – Adam 2013-03-19 11:50:52

0

MVC是一種設計模式,一個概念,它由我們在我們的代碼/程序/項目中實現。

還有很多其他的設計模式都是概念性的,沒有什麼具體的。

你很少有創建像UML這樣的模型的工具,你可以看到並感受到你要做什麼。但是,對於你來說,視角就是它的一部分,控制器就是視角和模型。

+0

感謝您的答案,我編輯了我的問題,我想像圖像這樣的圖表,你知道是否有這樣的工具? – 2013-03-19 13:35:15

+0

該圖像看起來像一款遊戲。笑話分開,一個工具怎麼會知道你的邏輯是什麼?何時顯示哪個視圖?如何根據國家,年齡,性別因素計算所得稅?只有將所有東西放在工具中,這些業務和邏輯推理纔有可能。那麼這個工具本身就是一個樣板化的AppDevelopemnt IDE。 – 2013-03-19 13:39:49

+0

如果有這樣的工具,我不知道,即使我沒有在谷歌搜索它。 – 2013-03-19 13:40:20

1

你的問題是一個模棱兩可的請求幫助創建'模型 - 視圖 - 控制器模型'。這是否意味着您可以與MVC範例的視圖和控制器方面兼容,並要求單獨實現模型方面的方法?或者你是否使用「模型」這個詞來指代整個MVC模式?

無論如何,希望這些信息對您有所幫助。

MVC只是一個設計範例,是構建代碼的許多邏輯方法之一。
從蘋果公司的Concepts in Objective-C ProgrammingModel-View-Controller部分:

  • 模型對象封裝數據和基本行爲
  • 查看對象信息呈現給用戶
  • 控制器對象領帶的模型視圖

現在,當使用Cocoa編程iOS時,您固有地使用th e通過使用UIViewUIViewController MVC的視圖和控制器方面,如可可核心能力的View Controller Programming Guide for iOSModel-View-Controller部分中所述。在您需要執行自定義繪圖操作的情況下,這個invovles對UIViewControllerUIView進行子類化。

這意味着所有需要實現的是MVC範例的模型方面。這可以通過幾種方式來實現,但是在他們主張以任何視圖控制器作爲單例實現相應模型的Beginning iOS Development - Exploring the iOS SDK系列中。這提供了對單個模型實例的視圖和控制器共享訪問。一個基本的單模型實現如下所示:

MYModel.h

#import <Foundation/Foundation.h> 

@interface MYModel : NSObject 

// Accessor for singelton instance of model. 
+ (MYModel *)sharedModel; 

// Model properties 
@property (strong) NSString *someProperty; 

// Model methods 
- (BOOL)someMethod; 

@end 

MYModel.m

#import "MYModel.h" 

@implementation MYModel 

// Accessor for singelton instance of model. 
+ (MYModel *)sharedModel 
{ 
    static MYModel *sharedModel; 
    @synchronized(self) 
    { 
     if (!sharedModel) { 
      sharedModel = [[MYModel alloc] init]; 
     } 
    } 
    return sharedModel; 
} 

... 

@end 

由於樣板代碼是多麼簡單對於可可中的基本MVC範例,我無法真正瞭解爲什麼需要一個工具。是否有工具通過檢查你的代碼來幫助執行MVC的主體,我不知道。

+0

感謝您的答案,我編輯了我的問題,我想像圖像這樣的圖表,你知道是否有這樣的工具? – 2013-03-19 13:34:57

+0

@SimonePistecchia對不起,我不完全確定你在問什麼。你是否需要一個能夠從你的代碼中生成你的MVC交互圖的工具?或者你是否需要一個創建樣板代碼的工具,該代碼使用類似於圖像中顯示的MVC範例?無論哪種情況,我都不知道有這個功能的工具。這些圖只是我在答案中描述的模式的複雜可視化。我唯一沒有介紹的是通過鍵值觀測的通知。如果你願意,我可以在我的答案中添加一個例子嗎? – 2013-03-19 13:45:40

+0

嗨,我不想要任何類型的代碼,我可以自己寫。我只想知道是否有一個圖形工具來做我的邏輯流程很快。我也可以用pait來做到這一點,但是更快地管理一些創建內部規範的圓的東西。所以這個東西能夠促成UML和這個MVC圖形。 – 2013-03-19 14:02:33

相關問題