title: Unable to suspend an instance of a URLSessionDataTask
body: <p>I am instantiating a <code>URLSessionDataTask</code> that downloads hundreds of thumbnail images and stuffs them into an array.  Each entry in the array is used to populate a cell in a <code>UITableView</code> instance.  It works exactly as expected.</p>
  <p>However, I want to give the user the opportunity to click on a cell and initiate a second instance of a <code>URLSessionDataTask</code> in an effort to download additional details associated with that thumbnail. And I don't want the user to wait until the first data task finishes.</p>
  <p>That's where the problem lies.  The second <code>URLSessionDataTask</code> instance doesn't retrieve the data I need until the first <code>URLSessionDataTask</code> instance <em>completes</em>.  I guess I don't understand this since my understanding is that the first task is an asynchronous background task.</p>
  <p>So I tried a workaround such that when the user clicks on a cell to grab the detail information I would suspend the first task, download the detail info and then resume the first task.</p>
  <p>I want to do something roughly like this:</p>
  <pre><code>var firstTask = callThumbnailServer(queryString: createHTTPQueryString())
  
  func userAsksForDetails() {
     firstTask.suspend()
     var secondTask = callDetailServer(queryString: createHTTPQueryString())
     firstTask.resume()
  }
  </code></pre>
  <p>But <code>firstTask.suspend()</code> appears to have no effect.  Now, <code>firstTask.cancel()</code> <em>does</em> successfully <em>cancel</em> the first task, but I don't want to cancel, I want to suspend/resume.</p>
  <p>So I guess I have two questions:</p>
  <ol>
  <li>Why does the second data task appear not to run until the first one completes?</li>
  <li>Why does cancel() work but suspend() does not?</li>
  </ol>
  <p>Sorry if these are dumb questions, I'm just starting with UIKit and Swift.</p>