0

私は以前、以下を使用して、さまざまなユーザー入力値(BOOL、Stringsがほとんど)でaplistファイルの名前を変更していました。

    [manager moveItemAtPath:oldPath toPath:newPath error:&error];

そして、何らかの理由でiOS4 +ではこれがうまくいかないので、私は次のことを試みます:

 [1]  [manager copyItemAtPath:oldPath toPath:newPath error:&error];
 [2]  [manager removeItemAtPath:oldPath error:&error];

これで、[1]はplistとすべてのデータを正しくコピーします。([2]をコメントアウトするときに確認しました。しかし、何らかの理由で[1]と[2]を試してみると、ファイル/appears /の名前が変更されましたが、IFNameやLNameなどの特定のフィールドのみが欠落しています。 Phone1、Phone2、Email1、Email2、およびWebsiteは新しいファイルから削除されますが、そのまま残ります。

私の人生では、新しいファイルが作成された後に古いファイルに対してremoveFileAtPathを試行したときに、なぜ一部のデータしか残っていないのか理解できません。

どんな助けでも大いに感謝されるでしょう!

すべてのデータをそのままにして、plistファイルの名前を変更したいだけです。

4

1 に答える 1

1
NSString *newPath = [[oldPath stringByDeletingLastPathComponent] stringByAppendingPathComponent:newFilename];

[[NSFileManager defaultManager] movePath:oldPath toPath:newPath handler:nil];
于 2010-11-19T22:46:50.830 に答える