0

サーバーからデータをダウンロードするメソッドを含むクラスがあります。これは JSON 形式ですが、解析されて配列に入れられます。これは「モデル」ファイルであるため、複数の「コントローラー」がこのデータにアクセスできるようにするための最良の方法は何でしょうか?

4

2 に答える 2

2

アプリのデリゲートから吊るすか、グローバル変数に貼り付けるか、それを返す適切な場所でクラス メソッドを宣言します。

さらに良いことに、とりわけこのデータを管理できる適切なモデル レイヤーを用意することについて、今から考え始めてください。これにより、アプリケーションが進化するにつれて、将来のリファクタリングが容易になります。

于 2012-07-21T18:02:01.427 に答える
0

配列オブジェクトを使用して、クラスのシングルトンオブジェクトを作成できます。クラスメソッドを使用すると、アプリ内の任意の場所でその配列を取得できます。

例えば

Cardnames.hファイル内

#import <Foundation/Foundation.h>

@interface CardNames : NSObject

@property (nonatomic, retain) NSMutableArray *CardNamesArray;

+(CardNames*) getCardsList;

@end

Cardnames.mファイル内

#import "CardNames.h"

@implementation CardNames

@synthesize CardNamesArray;

static CardNames *cards = nil;

+(CardNames*) getCardsList
{
    @synchronized(self)
    {
        if(cards == nil)
        {
            cards = [[self alloc] init];

            cards.CardNamesArray = [[NSMutableArray alloc] init];

            /// code to fill array

        }
        return cards;
    }
}
@end

そして他のクラスではuはこのように使うことができます

#import "CardNames.h"
.
.
.
NSMutableArray *CardsArray = [[CardNames getCardsList] CardNamesArray];
于 2012-07-22T11:13:46.570 に答える