私は常に、この種の情報を保持するためにアプリのどこからでもアクセスできるシングルトンオブジェクトを作成することを好みます。たとえば、というクラスを作成するとしDataStore
ます。sharedDataStore
次のようなクラスメソッドを作成します。
@implementation DataStore
static DataStore *sharedGameStore_ = nil;
+ (DataStore *)sharedDataStore {
if (sharedDataStore_ != nil) return sharedDataStore_;
static dispatch_once_t pred;
dispatch_once(&pred, ^{
sharedDataStore_ = [[DataStore alloc] init];
});
return sharedDataStore_;
}
init
データストアクラスのメソッドで、すべてのセットアップを行い、 NSUserDefaults
what-have-youを読み取ります。次に、使用する必要のあるデータの読み取り/書き込み用のプロパティやメソッドを追加します。これにより、複数の読み取りに対してデータが適切にキャッシュされるようにすることができます。
次に、アプリのどこからでも.h
ファイルを含めて呼び出すことができます。
[DataStore sharedDataStore] someMethodName]
また、アプリはオブジェクトのインスタンスを1つしか作成しないため、データを一元的かつ効率的に読み書きしていることを確認してください。