iPhoneアプリ開発において、データを保存したい場合はどうすればいいのだろう?
今回は様々なデータ保存の手法を取り上げてみます。
バックナンバー
- 設定を保存するシンプルな方法
- ホームディレクトリとファイルパス
- ファイルやディレクトリの操作
- いろいろなデータのファイル保存
- プロパティリストの利用
- ローレベルなファイルアクセス
設定を保存するシンプルな方法
この記事の内容
- NSUserDefaults
- データの形式と保存先
NSUserDefaults
環境設定やちょっとしたデータの記憶であれば、NSUserDefaults
が便利です。
ファイルの保存場所などは一切気にする必要がありません。データのセット・取得もNSDictionaryと同じように行えるので、とても簡単です。
保存
// 文字列オブジェクト NSString *myString = [NSString stringWithString:@"Lorem Ipsum Dolor"]; // 空のデータオブジェクト NSData *myData = [NSData data]; // 共有Defaultsオブジェクトを取得 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; // 値をセット [userDefaults setObject:myString forKey:@"item1"]; [userDefaults setObject:myData forKey:@"item2"]; // 保存 [userDefaults synchronize];
読み出し
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; // データを取得 NSString* myString = [userDefaults stringForKey:@"item1"]; NSData* myData = [userDefaults dataForKey:@"item2"];
上記のサンプルはNSStringとNSDataで試していますが、他にもブール値や様々な数値、NSArrayやNSDictionary(ともに入れ子も可能)、さらには独自クラス(詳細)など様々なオブジェクトを保存できます。このあたりの詳細は下記参考サイトをご覧ください。
データの形式と保存先
NSUserDefaultsのデータは、プロパティリスト形式で以下の場所に保存されます。
- [シミュレーター]
~/Library/Application Support/iPhone Simulator/<iOS Version>/Applications/<GUID>/Library/Preferences/<Identifier>.plist
- [実機]
/Applications/<GUID>/Library/Preferences/<Identifier>.plist
参考サイト
- [iOS Reference Library] NSUserdefaults Class Reference (英語)
- [iPhoneアプリ開発まっしぐら] NSUserDefaultsはどこまで保存できるかチェック (1)
- [iPhoneアプリ開発まっしぐら] NSUserDefaultsはどこまで保存できるかチェック (2)
次回
次の記事では「ホームディレクトリとファイルパス」について取り上げます。
No comments:
Post a Comment