NSUserDefaultsに保存したデータはアプリを終了しても消えません。
つかいかた
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
で作成できます。
シングルトン的に使えるようで、はじめて実行した際にインスタンスの作成し、2度目以降は作成したインスタンスを返してくれます。
データを書き込む
// id型でNSString型を保存 [userDefault setObject:@"HEY" forKey:@"keyA"]; // id型でNSString型を保存 [userDefault setObject:@"HEY" forKey:@"keyA"]; // Int型で保存 [userDefault setInteger:1 forKey:@"keyB"]; // Float型で保存 [userDefault setFloat:1.0 forKey:@"keyC"]; // Bool型で保存 [userDefault setBool:YES forKey:@"keyD"]; // URL型で保存 [userDefault setURL:[NSURL URLWithString:@"http://kimizuka.fm"]; forKey:@"keyE"];
データを呼び出す
// NSString型で取得 NSString *a = [userDefault stringForKey:@"keyA"]; // int型で取得 int i = [userDefault integerForKey:@"keyB"]; // float型で取得 float c = [userDefault floatForKey:@"keyC"]; // BOOL型で取得 BOOL d = [userDefault boolForKey:@"keyD"]; // URL型で取得 NSURL *e = [userDefault URLForKey:@"keyE"];
値の型によって使用するメソッドが違うのが若干面倒ですが非常に便利です。