我已经使用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];
谢谢。
答案 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];
}
您还可以考虑先加载旧文件的内容,以便可以迁移已保存的数据。