如何在ios中的缓存文件路径中保存多个xml文件?

时间:2012-12-20 17:03:22

标签: ios xml download

我将xml文件保存在缓存文件路径中,如下所示:

// Determile cache file path
 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 filePathl = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"list.xml"];   

// Download and write to file
 NSURL *url = [NSURL URLWithString:detail_product_listing_rss];
 NSData *urlData = [NSData dataWithContentsOfURL:url];
 [urlData writeToFile:filePathl atomically:YES];

但是使用这段代码我可以检索最近使用的xml文件的数据。有人可以告诉我如何保存多个xml文件以供离线使用吗?

1 个答案:

答案 0 :(得分:1)

您需要使用不同的名称保存xml。否则它将覆盖旧的xml。

为此目的保留一个整数值,如果您想在重新启动应用后再将其保留在NSUserDefaults中。

 int posValue = [[[NSUserDefaults standardUserDefaults] objectForKey:@"lastXml"] intValue];

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 filePathl = [NSString stringWithFormat:@"%@/list_%d.xml", [paths objectAtIndex:0],posValue];   

 NSURL *url = [NSURL URLWithString:detail_product_listing_rss];
 NSData *urlData = [NSData dataWithContentsOfURL:url];
 [urlData writeToFile:filePathl atomically:YES];

 [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:posValue+1] forKey:@"lastXml"];