実際にplistファイルから何かを更新したり削除したりすることはありません。それは少しより複雑なものよります:
- アルターは、インメモリ版
- のplistに
読書ディスクへの新しいバージョンをライトバックメモリにplistファイルを読みますかなり些細なことです。あなたのケースでは、ルート要素が配列であるため、あなたがしたい:私たちはそれで何かを変えることになるだろう知っているので、ここで
NSMutableArray * plistContents = [NSMutableArray arrayWithContentsOfFile:plistFilePath];
我々は、可変配列を作成します。情報を読みたいだけの場合は、NSMutableArray
の代わりにNSArray
を使用してください。メモリ内のバージョンを変更
は標準コンテナを操作するのと同じくらい簡単です:
//delete the first dictionary:
[plistContents removeObjectAtIndex:0];
//Change a dictionary's full name:
NSMutableDictionary * firstDictionary = [[plistContents objectsAtIndex:0] mutableCopy];
[firstDictionary setObject:@"Mike" forKey:@"fullName"];
[plistContents replaceObjectAtIndex:0 withObject:firstDictionary];
[firstDictionary release];
plistの中で読むことのみ不変を作成しますので、ここでは、辞書の可変(変更可能)コピーを作成する必要がNSDictionary
。そこで、辞書をコピーし、変更したい値を変更して元の辞書を新しい変更済みの辞書に置き換えます。
ディスクへのplistを書くも簡単です:
//be sure you have write-permissions first!
[plistContents writeToFile:plistFilePath atomically:YES];
フォーマットを修正していただきありがとうございます。私が話しているように、私は「コードと書式設定されたテキスト」を読んでいます。 –