データの保存(NSUserDefaults)

アプリを終了してもデータを保持したい場合は、NSUserDefaultsを使う。

以下は、配列データの保存と読み込み・追加の例。

『保存』

NSUserDefaults *_userDefaults = [NSUserDefaults standardUserDefaults];
NSArray *array = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
[_userDefaults setObject:array forKey:@"aaa"]; //ここで指定したキーで保存・読み込みを行う
[_userDefaults synchronize]; //保存を実行

『読み込んで追加』

NSUserDefaults *_userDefaults = [NSUserDefaults standardUserDefaults];
NSArray *arr;
NSMutableArray *mArr;

arr = [_userDefaults arrayForKey:@"aaa"]; //読み込み
mArr = [NSMutableArray arrayWithArray:arr];
[mArr addObject:@"abc"];
arr = mArr;

[_userDefaults setObject:fArray forKey:@"aaa"];
[_userDefaults synchronize];

※保存できるデータは、オブジェクトなら基本的に何でもいけるっぽい。読み込み時にarrayForKeyで読み込むと配列として読み込み、objectForKeyで読み込むとオブジェクトとして読み込む。
※NSMutableArrayを直に保存はできないらしいので、格納した配列データを更新する場合は、上記のように一度ArrayをMutableArrayに変換する必要がある。

データの保存(NSUserDefaults)” への2件のコメント

  1. 匿名さん

    ご指摘ありがとうございます。
    また、返信が遅れまして申し訳ありません。

    確かに、typoしておりましたので、以下の通りに修正いたしました。

    [_userDefaults setObject:fArray forKey:@”aaa”];

    [_userDefaults setObject:array forKey:@”aaa”];

コメントを残す

メールアドレスが公開されることはありません。