2014-01-06 34 views
1

我在写一个Cocoa应用程序,我想在Webkit视图中显示一些数据。数据是我在内部生成的HTML。不过,它来自一个缓慢的计算,所以我要建立一个缓冲区(现在在GCD队列中)。如何将数据流式传输到WebView/WebFrame?

WebFrame具有-loadRequest(URL),它是异步的,并且像-loadHTMLString(字符串)一堆方法和-loadData(原始字节),它是同步的。有没有办法异步加载本地HTML流?我是否需要设置自己的Web服务器才能将数据流发送到此视图?

+1

以下是一个想法:使用一些基本的HTML加载web视图,其中包含javascript以基本维护已经计算的HTML数组。在javascript中,每隔x秒轮询一次,如果有新的HTML数据,则显示它。在Obj C中,每当有新数据时,使用UIWebView的'stringByEvaluatingJavaScriptFromString:'将新数据追加到数组中。 – Linuxios

+0

这是一个有趣的想法!这并不理想,但它听起来似乎合理。 – user241221

+0

iOS的webview并不擅长这些更复杂的事情。 – Linuxios

回答

0

子类NSURLProtocol。使用自定义协议处理程序,您可以将WebFrame指向自定义NSURL(如“myproto:// foo/bar”),然后编写一个处理“myproto”URL的处理程序并将其发送到任何字节流中喜欢。

相关问题