title: For loop with background loop, with completion?
body: <p>I want to run a <code>for loop</code> with background code, that has something happen once it's finished iterating through every item. To do this without background code would be simple, like this:</p>
  
  <pre><code>for aString: String in strings {
      if string.utf8Length &lt; 4 {
          continue
      }
  
      //Some background stuff
  }
  
  //Something to do upon completion
  </code></pre>
  
  <p>But to include background code in there means that the code to perform upon completion gets performed before all items are dealt with.</p>
  
  <pre><code>for aString: String in strings {
      if string.utf8Length &lt; 4 {
          continue
      }
  
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) {
          //Some background stuff
      }
  }
  
  //Something to do upon completion
  </code></pre>
  
  <p>I'm wondering if it's possible to do that.</p>