0

私は Web 開発のバックグラウンドを持っています。モデルが iOS 開発でどのように使用されるのか理解できません。

Web 開発におけるモデルは、コントローラ ファイルが次のような関数でアクセスする個別のファイルです。getMysqlQueryOf(stuff);

iOS 開発は同じものを使用しますか? MyModel.h および MyModel.m ファイルを作成し、これをすべてのビュー コントローラーにインクルード/インポートして、そのようなモデル クラス内のメソッドにアクセスする必要がありますか?

Model クラスの簡単な例と、View Controller からのアクセス方法を示していただけますか?

4

2 に答える 2

1

私の iOS の経験では、UIViewControllers はそれ自体が島として機能する傾向があります。間違ったアプローチは、モデルに入れるすべてのものを代わりにデリゲート クラスに入れることです。「モデル」に対するあなたの考えは的を射ていると思います。someModel.m とヘッダー ファイルを作成し、モデルを必要とするすべてのクラスにそのモデルへのポインターを与え、デリゲートでコア モデルを初期化します。

IMO、iOS のデータ フローには、まだ足りない部分があります。

于 2012-09-28T16:05:41.023 に答える
1

さまざまなオブジェクト間で共有したいデータ モデルがある場合は、静的にアクセスできるように作成します。

たとえば、以下のコードは、ヘッダー ファイルを含めて [MyData getMyData] を呼び出すことにより、プロジェクト内の他のオブジェクトから簡単にアクセスできる 1 つのオブジェクト dataHandle を作成します。

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;
}
于 2012-09-28T17:20:44.403 に答える