dispatch_async пользовательская очередь никогда не выходит из блока

dispatch_queue_t callerQueue = dispatch_get_current_queue();
dispatch_retain(callerQueue);
dispatch_queue_t downloadQueue = dispatch_queue_create("Download Queue",NULL);

dispatch_async(downloadQueue, 
^{
    //some code that accesses a web service
    dispatch_async(callerQueue,
    ^{
      //some code that accesses UI
    });
});
dispatch_release(downloadQueue);
NSLog(@"great successing!");

Проблема в том, что "Great successing!" никогда не появляется, и ничего не происходит после окончания внешнего блока dispatch_async кода. Я не уверен, что я делаю неправильно, но я знаю, что здесь что-то серьезно не так.

5
задан Ben Leggiero 8 May 2015 в 22:16
поделиться