NSUserDefaults データの保存


iOS開発でデータベースに当たる機能を使いたい場合にはNSUserDefaultsがお手軽で使いやすいです。NSUserDefaultsはシングルトンになっていてどこからでも呼び出せるようです。

NSUserDefaultsの生成

standardUserDefaultsを使います。
NSUserDefaults * userdefaults = [NSUserDefaults standardUserDefaults];

データの保存

オブジェクトを保存するときにsetObjectを使います。
NSUserDefaults * userdefaults = [NSUserDefaults standardUserDefaults];
// 数字をセット
[userdefaults setObject:[NSNumber numberWithInt:11] forKey:@"number"];
// 文字列をセット
[userdefaults setObject:@"保存したい文字列" forKey:@"date"];
// すぐ保存されるそうです。
[userdefaults synchronize];

synchronizeしておくとすぐ保存が反映されるそうです。synchronizeしないで取得すると保存したつもりのデータがとれないことがありました。

データの取得

保存されたデータをobjectForKeyで取得します。
NSUserDefaults * userdefaults = [NSUserDefaults standardUserDefaults];
[userdefaults setObject:[NSNumber numberWithInt:11] forKey:@"number"];
[userdefaults setObject:@"保存したい文字列" forKey:@"string"];
[userdefaults synchronize];
// 保存した数字を取得。
NSString *num = [userDefault objectForKey:@"number"];
NSLog(@"保存した数値は : %@", num);
// 保存した文字を取得
NSString *str = [userDefault objectForKey:@"string"];
NSLog(@"保存した文字列は : %@", str);
// 出力
保存した数値は : 11
保存した文字列は : 保存したい文字列


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です