如何在不先创建二进制文件的情况下将 NSData 加载到 UIWebView



需要一些帮助,请:

我有一个准备好字节的 NSData(它是一个 RTF 格式的文本)。

我希望能够将所述NSData加载到UIWebView中,而无需先创建二进制文件,因此换句话说,不必这样做:

[UIWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"rtf"]isDirectory:NO]]]; }

我需要多次调用它,所以我想避免每次都将 NSData 保存到二进制文件中。谢谢。

使用 loadData:MIMEType:textEncodingName:baseURL:

[webView loadData:data MIMEType:@"application/rtf" textEncoding:NSUTF8StringEncoding baseURL:someURL];

您通常需要提供某种URL作为baseURL,但是如果没有相对链接,则使用什么并不重要。(请参阅 loadHTMLString baseURL:nil 在 iOS5 中不起作用以获取更多讨论。

我假设你的NSData只包含HTML字符串数据。 在这种情况下,您可以执行以下操作:

//Use whatever encoding, I assume UTF8
NSString *html = [[NSString alloc] initWithData:yourData encoding:NSUTF8StringEncoding];
[yourWebView loadHTMLString:html baseURL:pathToYourHtml];
[html release]; //Not needed in ARC

最新更新