0

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

4

1 回答 1

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"];
于 2012-12-20T17:13:53.163 回答