2012-04-08 15 views
2

ストーリーボードを使用するiPhoneアプリでグローバル配列/変数を使用したいと思います。複数の異なるストーリーボード画面からそのようなグローバル変数にアクセスする方法はありますか?iPhone - ストーリーボードのグローバル変数

おかげ ケビン

答えて

1

ストーリーボードの一部が多少無関係である:ココアでこれを達成するための標準的な方法は、(を通じて、アプリケーションで定義されているコントローラ間でそのヘッダを共有し、モデルとしてシングルトンオブジェクトを定義することですストーリーボードなど)、アプリケーション起動コードで共有モデルのインスタンスを作成します。

Objective Cでシングルトンを実装する方法については、this linkを参照してください。

+1

※Appdelegateファイルでこれらの変数を宣言して使用することはできませんすべてのクラスで? –

+0

もしあなたがそれを軽視するなら、私は気をつけます。 –

+2

@anonymous技術的には、それをどのファイルにでも入れることができ、Appdelegateはこの点でも優れているわけではありません。ただし、モデルを配置するための最も一般的な選択肢ではありません。共有変数の最適な選択肢は、共通の場所にある適切な名前の共有クラスです。 – dasblinkenlight

1

おそらく最も簡単なのは、NSUserDefaultsに情報を格納することです。それはあなたが望むものでなければならないので、アプリのどこにでもアクセスできます。あなたはそれで作業する方法がわからない場合、私は、スニペットを掲示しています:)

どのようにそれを設定するには:私が投稿しています

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = [settings boolForKey:@"myVariableKey"]; 

それを取得する方法
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
BOOL yourVariable = YES; 
[settings setBool:yourVariable forKey:@"myVariableKey"]; 
[settings synchronize]; 

ブール値の例ですが、必要な値にすることができます。たとえば、次のようになります。

[settings setValue:@"Hello!" forKey:@"welcomeMessage"]; 
+0

ありがとう、素晴らしい作品! NSUserDefaultオブジェクトをリリースすると、項目が永続的に保存される領域が解放されますが、私は推測しますか? – Kevin