如何为iOS应用程序制作离线浏览器?

时间:2013-07-23 07:56:46

标签: iphone ios browser offline-browsing

我需要在我的iOS应用程序上创建一个离线浏览器,它允许以下内容:

当您有互联网连接(wifi,3g,4g,...)时,您可以下载白天需要阅读的所有网页,然后您也可以在没有互联网连接时浏览内容。 我从JSON文件导入数据。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果您已下载数据,请将其保存到文档目录并检查是否没有互联网连接,然后从文档目录加载内容。

获取Documentpath

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [paths objectAtIndex:0];

如果您有NSDictionary:

NSString *path = [NSString stringWithFormat:@"%@",[paths objectAtIndex:0]];
NSDictionary *dict = [[NSDictionary alloc] init];
[dict writeToFile:[path stringByAppendingPathComponent:@"myOfflineData"] atomically:NO];

得到它:

NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:[path stringByAppendingPathComponent:@"myOfflineData"]];

或者用NSString等保存。

要赶上你的例子:

NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http:......."]];
id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]; jsonResults = [jsonObjects objectForKey:@"nodes"];
[jsonData writeToFile:[path stringByAppendingPathComponent:@"myOfflineData"] atomically:NO];

如果你离线了:

NSData *jsonData = [[NSData alloc] initWithContentsOfFile:[path stringByAppendingPathComponent:@"myOfflineData"]];