忍者ブログ
  • 2024.10«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/22 19:27 】 |
NSUserDefaultsでゲームのハイスコアを保存
・NSUserDefaults

AndroidでいうSharedPreferencesのような感じ。
使い方はほとんどかわらないがキーが見つからなかった場合に返ってくる値を設定出来ない。
初期値の設定の際は一旦NSMutableDictionary型で値とキーを設定してNSUserDefalusに入れる

// NSUserDefaultsの取得
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

// 初期値の設定
NSMutableDictionary *defaults = [NSMutableDictionary dictionary];
[defaults setObject:@"0" forKey:@"HIGHSCORE"];
[userDefaults registerDefaults:defaults];

// 情報の更新
[userDefaults setInteger:1000 forKey:@"HIGHSCORE"]; // int型でキー:HIGHSCOREに値を登録
[userDefaults setObject:@"1000" forKey:@"HIGHSCORE"] // NSString型で(以下同文)

[userDefaults synchronize]; // 明示的に反映させる(なくても反映される)

// 情報の取得
int i = [userDefaults integerForKey:@"HIGHSCORE"]; // HIGHSCOREの値をint型で取得する
NSString str [userDefaults StringForKey:@"HIGHSCORE]"; // HIGHSCOREの値をNSString型で取得する

// 情報の削除

[userDefaults removeObjectForKey:@"HIGHSCORE]; // HIGHSCOREをキーごと削除する

情報の更新の際にNSString型の値を入れるときはsetObjectなのに、取得するときはStringForKeyになるのが不思議。

あとはSharedPreferecesより手順が少なくてすこし楽
参考SharedPreferences
【Android】SharedPreferences
PR
【2013/03/24 13:11 】 | Objective-C | 有り難いご意見(0)
<<NSTimerを複数つかう方法 | ホーム | Objective-Cの本の紹介>>
有り難いご意見
貴重なご意見の投稿















前ページ | ホーム | 次ページ

忍者ブログ [PR]