需要一些帮助,请:
我有一个准备好字节的 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