重複の可能性:
アプリケーションのシャットダウン後に変数を保存する方法は?
Objective-C を使用して、シングル ビュー アプリケーションで Iphone アプリを作成しています。スコアを記録する変数を保持して、ロック解除可能な文字、ハイスコアなどを制御できるようにしたいと考えています。
問題は、アプリを閉じて再度開くたびに、変数がリセットされることです。
再度開いたときにリセットされない変数を作成する方法を知っている人はいますか?
重複の可能性:
アプリケーションのシャットダウン後に変数を保存する方法は?
Objective-C を使用して、シングル ビュー アプリケーションで Iphone アプリを作成しています。スコアを記録する変数を保持して、ロック解除可能な文字、ハイスコアなどを制御できるようにしたいと考えています。
問題は、アプリを閉じて再度開くたびに、変数がリセットされることです。
再度開いたときにリセットされない変数を作成する方法を知っている人はいますか?
iOSでは、を使用して実行間の変数を保存しますNSUserDefaults
。以下のサンプルコードを参照してください。
#define HSMEMORY @"hsMemory" // used to prevent errors in writing it repeatedly
// Store initial default values. Do this at the beginning of the App like in AppDelegate before the values are used and accessed.
// This will set the initial value when the App is first run and nothing has been stored in previous runs.
NSNumber *defaultMemory = [NSNumber numberWithDouble:0.0];
NSDictionary *appDefaults = [NSDictionary
dictionaryWithObjectsAndKeys:
defaultMemory, HSMEMORY, nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
変数にアクセスするには、次を使用します。
NSNumber *memory = [[NSUserDefaults standardUserDefaults] objectForKey:HSMEMORY];
変数をリセットするには、次を使用します。
[[NSUserDefaults standardUserDefaults] setObject:memory forKey:HSMEMORY];
「変数」と言うときは NSString を意味すると思うので、この場合は NSUserDefaults を使用してこれを実現できます。それは多すぎる。
NSString を保存するには:
//Initialize NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//Store the desired value
[defaults setObject:@"TEXT TO SAVE OR NSSTRING" forKey:@"CHOOSE A KEY-NAME"];
//To retrieve the text when the app launch
NSString *value_retrieved = [defaults objectForKey@"YOUR KEY-NAME"];
BOOL キーを保存するには
//Initialize NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//Save the Boolean
[defaults setBool:YES OR NO forKey:@"CHOOSE A KEY-NAME"];
//Retrieve the Boolean
[defaults boolForKey:@"YOUR KEY-NAME"];