如何删除iPhone设备中的plist文件?

时间:2012-07-26 06:11:37

标签: iphone ios5 xcode4.3

我已经使用plist文件来存储我的数据,它确实适用于读取和写入数据。现在如何删除我的iPhone设备内的旧SaveData.plist文件?因为当我从xcode中删除它并添加具有相同名称文件(SaveData.plist)的新文件并在我的设备中运行它时,我的旧数据仍然在里面。

我使用此代码添加我的SaveData.plist

NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"SaveData.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path])
{
    NSString *bundle = [[NSBundle mainBundle] pathForResource:@"SaveData" ofType:@"plist"];
    [fileManager copyItemAtPath:bundle toPath: path error:&error];
}
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

谢谢。

1 个答案:

答案 0 :(得分:1)

如果有旧版本,则if语句(如果文件已存在):

if (![fileManager fileExistsAtPath: path])

导致它不被复制到文档文件夹。

您可以先删除文档文件夹中的文件:

if ([fileManager removeItemAtPath:path error:&error] == YES)
{
    NSString *bundle = [[NSBundle mainBundle] pathForResource:@"SaveData" ofType:@"plist"];
    [fileManager copyItemAtPath:bundle toPath: path error:&error];
}

您还可以考虑先加载旧文件的内容,以便可以迁移已保存的数据。