dispatch_async NSURLConnection - 下载不启动

时间:2013-08-31 20:12:44

标签: ios asynchronous nsurlconnection dispatch

我正在尝试从网址下载背景信息。 我已经阅读了GCD,Runloops和线程,并决定使用dispatc_async。 收到数据后我也想更新gui。 但是...... NSUrlConnection似乎根本没有开始。代表不接听任何电话。 我以同步的方式使用了这个NSUrlRequest和NSUrlConnection,委托得到了数据。

这是我的代码,viewcontroller中的方法;

- (void)dispatch: (NSURLRequest *) pRequest respondTo: (VivaQuery *) pQuery   {

    dispatch_queue_t downloadQueue =          dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(downloadQueue, ^{

        NSURLConnection *tConnectionResponse =[[NSURLConnection alloc] initWithRequest: pRequest delegate: pQuery];
        dispatch_async(dispatch_get_main_queue(), ^{
             NSLog(@"Got to main thread.");
             [pQuery requestEnd]; // Will update gui, i e aUIView setNeedsDisplay 
         });
    });
} 

有人有个主意吗? 提前谢谢。

亲切的问候, Jan Gifvars 斯德哥尔摩

1 个答案:

答案 0 :(得分:0)

NSUrlConnection在它自己​​的后台线程上异步工作,所以你不需要在后台线程中创建它。