与iOS开发相比,Web开发中的模型(MVC)之间有什么区别?

时间:2012-09-28 15:53:41

标签: ios model-view-controller design-patterns model

我来自Web开发背景。我无法理解如何在iOS开发中使用模型。

Web开发中的模型是一个单独的文件,Controller文件使用getMysqlQueryOf(stuff);

等函数进行访问

iOS开发使用相同的东西吗?我应该创建一个MyModel.h和MyModel.m文件,并在我的所有View控制器中包含/导入它并访问模型类中的方法吗?

您能否展示一个Model类的简单示例以及如何从View Controller访问它?

2 个答案:

答案 0 :(得分:1)

在我的iOS体验中,UIViewControllers倾向于充当自己的岛屿。错误的方法是将您放入模型的所有内容放入委托类中。我认为你对“模型”的想法很明显。我将创建一个someModel.m和一个头文件,并为每个需要该模型的类提供指向它的指针,并在委托中初始化核心模型。

IMO,iOS数据流还有待改进。

答案 1 :(得分:1)

如果我有一个我希望在各种对象之间共享的数据模型,我创建它以便我可以静态访问它。

例如,下面的代码创建了一个对象dataHandle,通过包含头文件并调用[MyData getMyData],项目中的任何其他对象都可以轻松访问它。

MyData.h

@interface MyData : NSObject {
    NSString *dataName; // example data in my object
}
@property (nonatomic, retain) NSString *dataName;
+ (MyData *)getMyData;

MyData.m

@implementation MyData
@synthesize dataName;

static MyData *dataHandle;
+ (void)initData
{
    dataHandle = [MyData new];
    [dataHandle setDataName:@"DefaultName"];

}

+ (MyData *)getMyData
{
     if (!dataHandle){
         [MyData initData];
     }
     return dataHandle;
}