plistで保存するには?

JSONデータを受け取ると、Dictionary や Array になるのだけど、これらはそのまんま plist にして保存ができる。
dataSets が Dictionary か Array で、保存先へのパスが dataSetsSavepath だとこんな感じ。

[dataSets writeToFile:dataSetsSavePath atomically:YES];

コマンド一発で簡単!


で、これを取り出すには保存したのが Array だった場合には。

NSArray *dataSets = [NSArray arrayWithContentsOfFile:dataSetsSavepath];

これまたコマンド一発で簡単!


最後に、保存する場所は Documents フォルダならこんな感じ。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsFolder = [paths objectAtIndex:0];
NSString *dataSetsSavePath = [documentsFolder stringByAppendingPathComponent:@"DataSets.plist"];

ただ、iOS 5 になってから保存する場所とか、iCloud バックアップとか属性とか色々と面倒になっているらしいので、しっかりドキュメントを読む必要がありそう。