我需要在我的iOS应用程序上创建一个离线浏览器,它允许以下内容:
当您有互联网连接(wifi,3g,4g,...)时,您可以下载白天需要阅读的所有网页,然后您也可以在没有互联网连接时浏览内容。 我从JSON文件导入数据。
我该怎么做?
答案 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"]];