我将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文件以供离线使用吗?
答案 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"];