タイトルからわかるように、私は基本的にplistを更新したいと思います。実際には、アプリのユーザーは自分のデータをデータフィールドに入力し、それらを取り出してplistで保存します。彼は好きなだけ多くのオブジェクトを追加できます。 私は、そのスタッフのために膨大な数の異なるコードを試しましたが、どれも動作しません。まず、単純なエントリーされたことを前のデータを削除せずにplistにデータを追加
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>name</key>
<string>TEST</string>
<key>code</key>
<string>TEST</string>
<key>longitude</key>
<integer>22</integer>
<key>latitude</key>
<integer>10</integer>
</dict>
</array>
</plist>
(あなたがそれを理解することができますので、私はあなたにXMLコードを提示しています)私のplistを見てみましょう。さて、ここで私が使用しているlatesコードですが、私は誰がどんな間違いを見つけることができ、すべての
NSMutableDictionary *newBuilding = [NSMutableDictionary alloc];
[newBuilding setValue:@"Test1" forKey:@"name"];
[newBuilding setValue:@"Test2" forKey:@"code"];
[newBuilding setValue:@"10" forKey:@"latitude"];
[newBuilding setValue:@"20" forKey:@"longitude"];
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"BuildingsInfo.plist"];
NSMutableArray *newArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
if (nil == newArray) {
newArray = [[NSMutableArray alloc] initWithCapacity:0];
}
[newArray addObject:newBuilding];
[newArray writeToFile:plistPath atomically: YES];
}
で運がなかったですか?私はそれを何度も書きましたが、私はすべてのトークンをチェックしましたが、間違いは見つけられませんでした。なぜ私は働きたくないのか理解できません!
おかげでたくさんの男
私は、plistが私がそれに書き込めるようにするためには、ドキュメントディレクトリになければならないことを読んだところです。誰かが、プログラムがロードされると、どのようにplistをドキュメントディレクトリに転送できるのか教えていただけますか? – user1015777