データをNSUserDefaultsで保存する方法です。
(iOS5 で試しています。)
ちょっとしたデータを保存するには、NSUserDefaultsが便利です。
[NSUserDefaults standardUserDefaults]をつかって試してみます。
サンプルコード
@interface ViewController()
@property (nonatomic, strong) UITextField *field;
@end
@implementation ViewController
@synthesize field;
#define MY_KEY @“mystring”
– (void)viewDidLoad
{
[super viewDidLoad];
// 入力フィールド
field = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 100, 30)];
field.borderStyle = UITextBorderStyleRoundedRect;
[self.view addSubview:field];
// UserDefaults に値があれば、セットする
field.text = [[NSUserDefaults standardUserDefaults] valueForKey:MY_KEY];
// save button
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@”SAVE” forState:UIControlStateNormal];
btn.frame = CGRectMake(10, 50, 100, 30);
[self.view addSubview:btn];
[btn addTarget:self action:@selector(store:) forControlEvents:UIControlEventTouchUpInside];
}
– (void)store:(id)sender
{
// UserDefaults に TextFieldの値を保存
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:field.text forKey:MY_KEY];
}
@end
SAVEボタンを押して値を保存した値はアプリ終了後も残っているのが確認できました。
シミュレータでのアプリの終了方法
0. XcodeのStopボタンを押す。(Debugから切り離すため)
1. シミュレータの HOMEボタンを2回押す、
2. 画面下に動作中のアプリが表示されるので、どれでもいいので長押し。
3. 終了するアプリの ×アイコンをクリックする
シミュレータでは、ここにデータが保存されます。
~/Library/Application Support/iPhone Simulator/(iOS version)/Application/(番号)/Library/Prefefences/(アプリ名).plist
Xcode で開くとこんな感じで見れます。