Objective-C
iOS
NSUserDefaults

[iOS] [Objective-C]NSUserDefaultsでデータを保存する

More than 1 year has passed since last update.

やりたいこと


画面の切り替えとかで遷移した際にデータの引き継ぎをするのが難しい。
以前の処理を残したい。
そんな時に使えるのが 今回紹介するコード

環境


XCode8.1
Swift 2

手順


1.保存したいデータを作る。

Objective-C

 NSArray *score = @[@0,@0,@0,@0,@0];

Swift

 var score = [0,0,0,0,0]

2.NSUserDefaultsのインスタンスを作る。

Objective-C

 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];

Swift

 let ud = NSUserDefaults.standardUserDefaults()

書き込み

指定するデータを書き込みしたい場所(key)を指定し、書き込む。

Objective-C

 [ud setObject:store forKey:"scoreKey"];
 [ud synchronize];

Swift

 ud.setObject(score, forKey: "scoreKey")
 ud.synchronize()

読み込む

指定するデータを読み込みしたい場所(key)を指定し、読み込む。

Objective-C

 if ([ud arrayForKey:@"scoreKey"]) {
  score = [ud arrayForKey:@"scoreKey"];
 }

Swift

 if ud.objectForKey("scoresKey") != nil {
  score = ud.objectForKey("scoresKey") as! [Int]
 }

削除

指定されたデータを削除したい場所(key)を指定し、削除する。

Objective-C

 [ud removeObjectForKey:@"scoreKey"];

Swift

 ud.removeObjectForKey("scoresKey")

参考サイト


ありがとうございました
http://sunstripe.main.jp