title: Swift Serial Dispatch Block only finish after delegate
body: <p>this is a hard one to explain. I am creating a serial queue for handling some work in my app. Imagine that i do something like this:</p>
  
  <pre><code>dispatch_async(myQueue, { () -&gt; Void in
              self.SendSMS();
              });
  
  dispatch_async(myQueue, { () -&gt; Void in
              self.SendEmail();
              });
  </code></pre>
  
  <p>Now what i would like to do is to only call the self.SendEmail after a delegate(SendSMS delegate) finishes its work.</p>
  
  <p>Is there a simple way to do this? </p>
  
  <p>Many thanks</p>