ios - 从包含 HTML 的 NSString 创建本地 NSURL?

标签 ios objective-c nsstring nsurl

我有一个包含一些 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/

相关文章:

mysql - 在 iOS 中直接连接到远程 MySQL 数据库

iphone - 将 unsigned char 数组转换为 NSData 并返回

iOS比较英语和德语字符

ios - man子手计划2

ios - Material 仅附加到几何体上的一半纹理

ios - 'success' 中的成员 'SingleEvent<_>' 产生类型为 'SingleEvent<Element>' 的结果

objective-c - 为什么在我的 Objective-C 代码中间接调用时此 C 数组为 NULL? (cocos2d)

ios - 更改属性 TextView 中一个单词的颜色(objective-c)

objective-c - 不区分大小写的 NSString 后缀检查

ios - 从给定索引处的 NSString 中提取单词子串