1

需要一些帮助,请:

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

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

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

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

4

2 回答 2

3

利用loadData:MIMEType:textEncodingName:baseURL:

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

您通常需要提供某种 URL 作为baseURL,但如果没有相对链接,则使用什么并不重要。(有关更多讨论,请参阅loadHTMLString baseURL:nil not working in iOS5 。)

于 2012-06-08T01:41:44.317 回答
2

我将假设您的 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
于 2012-06-08T01:14:18.877 回答