como verificar se um bloco dispatch_async terminou de executar

Então, basicamente eu preciso ser capaz de executar um segue depois que um bloco terminar de rodar. Eu tenho um bloco que faz algumas coisas JSON e eu preciso saber quando terminar de executar.

Eu tenho uma fila que eu chamei de json_queue.

jsonQueue = dispatch_queue_create("com.jaboston.jsonQueue", NULL);

Eu então tenho um bloco dispatch_async com esta sintaxe:

  dispatch_async(jsonQueue, ^{
  [self doSomeJSON];
  [self performSegueWithIdentifier:@"modaltomenu" sender:self];
  });

Ele não me deixa executar a linha: "[self performSegueWithIdentifier: @" modaltomenu "remetente: self];"

Tentei obter o bloqueio da web de um segmento diferente do segmento principal ou o segmento da web. Isso pode ser um resultado de chamar o UIKit de um thread secundário. Batendo agora ...

Onde posso verificar para descobrir quando o segmento fez seu trabalho sujo para que eu possa chamar o segue?

Obrigado pessoas adoráveis.

PS: cerveja e ups e teddy bears e flores para quem puder ajudar <3.

questionAnswers(2)

yourAnswerToTheQuestion