使用NSFileManager重命名文件时出现奇怪的错误

时间:2010-09-10 05:33:50

标签: file copy plist rename nsfilemanager

我曾经使用以下命令重命名aplist文件,其中包含各种用户输入的值(BOOL,主要是字符串):

    [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]时,文件/显示/重命名,但是,只有某些字段缺失,例如我FName和LName保持不变,而Phone1,Phone2,Email1,Email2和Website将从新文件中删除。

对于我的生活,我只是想不通为什么在创建新文件后我为OLD文件尝试removeFileAtPath时,只有部分数据仍然存在?

任何帮助都会得到很多赞赏!

我只想简单地重命名plist文件,同时保持所有数据。

1 个答案:

答案 0 :(得分:1)

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

[[NSFileManager defaultManager] movePath:oldPath toPath:newPath handler:nil];