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