【问题标题】:question about reading data from urls on iphone/ipad关于从 iphone/ipad 上的 url 读取数据的问题
【发布时间】:2011-04-08 12:58:19
【问题描述】:

我有一个使用 UIWebView 加载网页的应用程序,然后我从该网页解析链接(由调用 webViewDidFinishLoad 触发)并使用 NSString initWithContentsOfURL 加载所有这些 html 文件。这可行,但加载链接需要很长时间......即使我已经计算了每个 initWithContentsOfURL 调用需要多长时间并且它们是合理的(主要在每页 0.2 秒的范围内)。 UIWebView 是否有可能以某种方式干扰这个,也许它导致线程阻塞?另外,我注意到 webViewDidFinishLoad 被多次调用,UIWebView 会被多次加载是否有原因?

詹姆斯

【问题讨论】:

    标签: iphone objective-c url ipad ios


    【解决方案1】:

    initWtihContentsOfURL 阻塞了它被调用的线程,所以如果它在主线程上完成,就像我假设你正在做的那样 1)一次只会发生一个,所以如果有 10 个链接,理论上需要 2 秒才能完成2) 屏蔽 App 的 UI,以便在此期间没有用户反馈。

    查看 NSURLConnection 以将其作为单独的线程运行,或者查看 NSOperationQueue 以另一种方式运行。

    至于 webViewDidFinishLoad 被多次调用,我认为需要更多关于你的应用逻辑的信息才能给出一个好的答案

    【讨论】:

      【解决方案2】:

      我想我会推荐 ASIHTTPRequest,它支持asynchronous requests

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-04
        • 2013-01-29
        相关资源
        最近更新 更多