Думайте о блоке - код, который вы отправляете в очередь отправки, как здесь, - как анонимная функция.Итак, код, который у вас есть в вашем блоке, выполняется в таком порядке, как если бы вы вызывали функцию, которая содержала те же вызовы, один метод, затем следующий и т. Д.
В вашем конкретном примере этоПохоже, вы можете выполнять некоторые операции с пользовательским интерфейсом в очереди, которая не является основной.Вы ДОЛЖНЫ выполнять операции пользовательского интерфейса в основной очереди, поскольку он имеет доступ к пользовательскому интерфейсу.Вместо этого вы можете использовать dispatch_get_main_queue()
, чтобы убедиться, что вы получаете эту очередь.Если у вас есть что-то, что вы хотите запустить в фоновом режиме, которое не будет касаться пользовательского интерфейса, тогда использование глобальной очереди - это нормально, и это предпочтительнее, особенно если важно не останавливать пользовательский интерфейс.