データコンテナシングルトンを作成することをお勧めします。シングルトンは、プロジェクトの存続期間中に一度だけ作成されるオブジェクトです。オブジェクトをリクエストできるクラスメソッドがあります。
詳細については、「Cocoa シングルトン デザイン パターン」で検索してください。
クラス MyDataObject があり、クラス メソッド sharedDataObject がある場合があります。.m ファイルの内容は次のようになります。
@implementation MyDataObject
static _sharedDataObject;
+(MyDataObject) sharedDataObject
{
if (!_sharedDataObject)
_sharedDataObject = [[MyDataObject alloc] init];
return _sharedDataObject;
}
@end
次に、必要に応じてデータ オブジェクトのヘッダーにプロパティを追加します。必要に応じて、データ オブジェクトのヘッダーを他のクラスに #import し、次のようなコードを使用します。
//To store a value to a property in the shared data object:
[MyDataObject sharedDataObject].someProperty = someValue;
//To fetch a value:
someValue = [MyDataObject sharedDataObject].someProperty;
共有データ オブジェクトのコンテンツを保持する必要がある場合は、共有データ オブジェクトを NSCoding に準拠させ、アプリがバックグラウンドに移行したときにそのコンテンツをファイルに保存し、起動時にファイルからそのコンテンツを読み込むことができます。
Cocoa と Cocoa touch は多くのシングルトン オブジェクトを使用することに注意してください。NSUserDefaults はシングルトンであり、NSFileManager も同様です。シングルトンのヒントは、クラス メソッドを使用して単一のオブジェクトを返すことです。多くの場合、Apple のフレームワークでは、クラス メソッドの名前は「shared」または「default」で始まります。