首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发加载webView的多个loadRequest

并发加载webView的多个loadRequest
EN

Stack Overflow用户
提问于 2012-12-06 05:34:18
回答 2查看 1.7K关注 0票数 2

目前我正在尝试同时加载大约4到5个不同的loadRequest,但我得出的结论是一次只能加载一个webView。虽然我已经为每个webview创建了自定义类,但loadRequest似乎不会被调用,而如果有另一个webview的loadRequest正在使用中。

有没有办法将这些调用放在不同的线程中,使其在分派机制中工作或利用?只是想知道有没有别的选择。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-06 06:05:19

使用NSUrlConnection预加载数据,不使用线程

代码语言:javascript
复制
    //for EACH url to load
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:tweet[@"profile_image_url"]]];
    [NSURLConnection sendAsynchronousRequest:request
                                       queue:[NSOperationQueue mainQueue] // one should ideally use a different queue here to free main thread and ONLY do the imageView.image setting in Main thread
                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                               if(!error) {
                                   //load webview! with Data maybe!
                               }
                           }];
票数 3
EN

Stack Overflow用户

发布于 2012-12-06 05:44:32

由于您似乎只有4或5个web视图,因此在调度队列中调用它们并不是那么低效。如果有100个请求,那么你需要考虑一些策略。

代码语言:javascript
复制
NSArray *myWebSites = [NSArray arrayWithObjects:@"www.cnn.com",@"www.fox.com",....,nil];

for(url in myWebsites){
    dispatch_async(dispatch_get_global_queue, ^{
        // get the data from the url.

        // do the display in main queue
        dispatch_async(dispatch_get_mainqueue, ^{
            //load the web view;
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13732878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档