【问题标题】:What is the difference between a Model (MVC) in web development compared to iOS development与iOS开发相比,Web开发中的模型(MVC)有什么区别
【发布时间】:2012-09-28 15:53:40
【问题描述】:

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

Web 开发中的模型是一个单独的文件,Controller 文件可以通过 getMysqlQueryOf(stuff); 等函数访问该文件

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

您能否展示一个模型类的简单示例以及如何从视图控制器访问它?

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    MyData.h

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

    我的数据.m

    @implementation MyData
    @synthesize dataName;
    
    static MyData *dataHandle;
    + (void)initData
    {
        dataHandle = [MyData new];
        [dataHandle setDataName:@"DefaultName"];
    
    }
    
    + (MyData *)getMyData
    {
         if (!dataHandle){
             [MyData initData];
         }
         return dataHandle;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 1970-01-01
      • 2020-03-31
      • 2013-11-04
      • 2020-07-24
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      相关资源
      最近更新 更多