我有一个使用UIWebView加载网页的应用程序,然后我从该网页解析链接(通过调用webViewDidFinishLoad触发)并使用NSString initWithContentsOfURL加载所有这些html文件。这是有效的,但加载链接需要永远...甚至我已经计时每个initWithContentsOfURL调用花了多长时间并且它们是合理的(大多数在每页0.2s的范围内)。是否有可能UIWebView以某种方式干扰了这一点,也许它导致线程阻塞?另外,我注意到多次调用webViewDidFinishLoad,是否有原因导致UIWebView多次加载?
詹姆斯
答案 0 :(得分:0)
initWtihContentsOfURL阻止调用它的线程,所以如果它在主线程上完成,我假设你正在做1)一次只会发生一个,所以如果有10个链接理论上需要2秒才能完成2)阻止应用程序的UI,以便在此期间没有用户反馈。
看看NSURLConnection将它作为一个单独的线程运行,或者看看NSOperationQueue以另一种方式进行。
就多次调用webViewDidFinishLoad而言,我认为需要更多关于你的应用程序逻辑的信息才能给出一个好的答案
答案 1 :(得分:0)
我想我会推荐ASIHTTPRequest,它支持asynchronous requests。