2013-08-31 48 views
0

我試圖從網址下載背景信息。 我讀過關於GCD,Runloops和線程,並決定dispatc_async是我的路要走。 收到數據後,我也想更新gui。 但是... NSUrlConnection似乎根本沒有啓動。代表不會收到任何電話。 我用同步的方式使用了NSUrlRequest和NSUrlConnection,委託獲取了數據。dispatch_async 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 
     }); 
    }); 
} 

有人有想法嗎? 在此先感謝。

親切的問候, 揚Gifvars 斯德哥爾摩

回答

0

NSURLConnection的做它的異步工作在它自己的後臺線程,所以你不需要在後臺線程創建它。

+0

好的,謝謝。我也是這麼想的......但後來我從NSUrlConnection開始的那個線程更新了gui。我在這個問題上發表了另一個問題。再次感謝。 –