0

いくつかのビューを持つ小さなアプリを作成しました。このために、ストーリーボードを使用し、ビューごとにビューコントローラーを使用します。ここで、ユーザーがビューに入力できるデータを保存する必要があります。これには辞書を使用したいと思います。私は今、辞書を作成する方法:

NSMutableDictionary *globalData = [[NSMutableDictionary alloc] init];
//add keyed data
[globalData setObject:@"Object One" forKey:@"1"];
[globalData setObject:@"Object Two" forKey:@"2"];

すべてのビューでモデルとして使用できるように、このディクショナリを追加してインスタンス化する適切な場所を探しています。

4

2 に答える 2

1

シングルトン モデル オブジェクトを使用して、グローバル データを保持できます。ほとんどすべてのviewControllersでこれを使用している場合は、*.pchファイルで宣言してください。辞書を使用している場合は、使いやすくするためにいくつかの定数を定義します。

GlobalDataModel *model = [GlobalDataModel sharedDataModel];
//Pust some value
model.infoDictionary[@"StoredValue"] = @"SomeValue";
//read from some where else
NSString *value = model.infoDictionary[@"StoredValue"];

.h ファイル

@interface GlobalDataModel : NSObject

@property (nonatomic, strong) NSMutableDictionary *infoDictionary;

+ (id)sharedDataModel;

@end

.m ファイル

@implementation GlobalDataModel

static GlobalDataModel *sharedInstance = nil;

- (id)init{
    self = [super init];
    if (self) {
        self.infoDictionary = [NSMutableDictionary dictionary];
    }

    return self;
}

+ (id )sharedDataModel {
    if (nil != sharedInstance) {
        return sharedInstance;
    }
    static dispatch_once_t pred;        // Lock
    dispatch_once(&pred, ^{             // This code is called at most once per app
        sharedInstance = [[self alloc] init];
    });

    return sharedInstance;
}
于 2013-06-15T11:59:12.507 に答える