NSUserDefaultsを使ってデータを保存
アプリ内でデータを保存する場合にCoreDataを使うという手もありますが、
テーブル定義が〜とか定義を変更した時にマイグレーション処理が〜など色々とめんどいので、
代わりにNSUserDefaultsを使って比較的楽に保存する方法があります。
NSUserDefaultsは、iPhoneやiPadのアプリの設定画面の情報を
取得したり設定できるクラスです。
二郎系アプリでは設定画面は用意していませんが、
NSUserDefaultsを使ってお気に入り機能を実装しました。
お気に入り登録したお店情報リスト(NSData)をまるっと保存しています。
・保存時
//お店情報リスト NSArray *shopList = [NSArray arrayWithObjects:@"お店1", @"お店2", @"お店3", nil]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //お店情報リスト(NSArray)をデータ化(NSData) NSData *shopData = [NSKeyedArchiver archivedDataWithRootObject:shopList]; //shopListキーを指定してデータを保存 [defaults setObject:shopData forKey:@"shopList"]; if (![defaults synchronize]) { NSLog(@"defaults setObject error"); return; }
・取得時
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //shopキーのデータを取得 NSData *shopData = [defaults dataForKey:@"shopList"]; //データをリスト化 NSArray *shopList = [NSKeyedUnarchiver unarchiveObjectWithData:shopData];