私はこの投稿にあるコードを使用しています: Plistからの複数の配列 、同じplistフォーマットで。
これは正常に機能しますが、作成した配列を同じ形式でplistに保存する方法がわかりません。
どうすればこれを達成できますか?
編集:私が必要とするのはそれほど節約ではなく、保存するデータの形成です。
plistは、文字列とそれに対応するキーを含む辞書の配列です。特定のキーを持つすべての文字列は、独自の配列に配置されます。
その配列を辞書の配列の正しい位置に戻し、保存する準備をするにはどうすればよいですか?
myPlistFile.plistを作成し、アプリケーションリソースフォルダーに追加することを忘れないでください。
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
ここでパスをスキャンし、forループを使用してmyPlistFile.plist
を検索できます。
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"myPlistFile.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath: plistPath])
{
NSString *bundle = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
[[NSFileManager defaultManager] copyItemAtPath:bundle toPath:plistPath error:&error];
}
[myDict writeToFile:plistPath atomically: YES];
最も簡単な方法は次のとおりです。
NSDictionary* dict = ...;
[dict writeToFile:@"..." atomically:YES];
-writeToFile:atomically:
のドキュメントを参照してください。
逆に、ファイルからNSDictionaryをロードするには:
+ (id)dictionaryWithContentsOfFile:(NSString *)path;