我有一个包含一些 HTML 的 NSString
。我正在尝试预加载该 HTML,包括其中的任何外部图像链接。所以,澄清一下:我只有 HTML,我基本上需要加载它、抓取它的图像并缓存该数据。
我可以使用以下代码在实时网站上执行此操作:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0], @"index.html"];
NSURL *url = [NSURL URLWithString:@"http://www.google.co.uk"];
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
但是如果没有NSURL
,这将无法工作。我想知道是否可以通过该 HTML 字符串以某种方式创建 NSURL
,并将其替换为此处的 URLWithString:
方法。
所以,问题:我可以在 NSString
中获取一些本地 HTML 并将其转换为 NSURL
,以便我可以将其输入到上面的代码中,然后保存HTML 及其链接到的任何图像?
最佳答案
你问的问题毫无意义。
URL 是指向在线资源位置的指针。在这种情况下,一个 html 文件。你不能把一个变成另一个。
我建议您创建一个 UIWebView
,将字符串加载到其中,让它呈现并缓存结果。
[webView loadHTMLString:@"data" baseURL:nil];
我相信它需要实际放置在屏幕上才能呈现,所以将它设为不可见的 1 X 1 像素正方形,应该没问题。然后当 didFinishLoading
触发时。缓存结果
关于ios - 从包含 HTML 的 NSString 创建本地 NSURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27941716/