【Objective-C】簡単便利なデータの保存読み込み!NSUserDefaultsについて(その3、2次元以上のデータの入れ方の工夫)
2011-12-10 (土) 17:33 Objective-C
前々回、前回に引き続いてNSUserDefaultsについてです。
今回は前々回に予告したように2次元以上のデータの入れ方の工夫についてです。
前回までに見たようにNSUserDefaultsは便利ですが、1つのキーに対して1種類の値しか入れることができません。
つまり、データベースでよく使われるリレーショナルデータベースのような2次元的なデータはそのままでは使えないことになります。
例えばゲームでプレーヤーが2人いて(Player1、Player2)、それぞれのHP、MP、アイテムなどをNSUserDefaultsに保存したい場合どうしますか。
(理想)

それぞれをまとめてNSMutableArrayにすることもできますが、そのままでは使えないのでNSDataに変換しないと行けませんね。。。
あるいは自作のXMLのplistやらCSV形式のファイルを作ったりすることで対処しますか。
なんとか簡単便利なNSUserDefaultsでやりたい!
こういう場合は次のようにそれぞれを1つにまとめてみてはいかがでしょうか。
・Player1のHP、MP、アイテム → Player1_HP、Player1_MP、Player1_Items
・Player2のHP、MP、アイテム → Player2_HP、Player2_MP、Player2_Items
(実行後)※英数字順

これで2次元のデータベースは不要になりますね。
他にも工夫次第でもっと道が開けるはずです!
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【Objective-C】タイマー(NSTimer)の止め方(停止方法) (2011/12/11)
- 【Objective-C】テーブルビュー(UITableView)で各セルごとに設定をするときの注意点(目印について) (2011/12/11)
- 【Objective-C】簡単便利なデータの保存読み込み!NSUserDefaultsについて(その3、2次元以上のデータの入れ方の工夫) (2011/12/10)
- 【Objective-C】簡単便利なデータの保存読み込み!NSUserDefaultsについて(その2、保存先・実機のデータのファイルパス) (2011/12/10)
- 【Objective-C】簡単便利なデータの保存読み込み!NSUserDefaultsについて(その1、全般) (2011/12/09)