title: Dequeue reusable cell with delay
body: <p>I have a tableView where I insert 20 rows with delay using DispatchQueue method. First 10 rows appear fine. Problem starts with 11th one when Xcode begins to dequeue reusable rows. In simulator it looks like it starts to insert by 2 rows nearly at the same time (11th+12th, then 13th+14th). </p>
  
  <p>I wonder why is that. Do DispatchQueue and tableView.dequeueReusableCell methods conflict? And if yes how to organize things properly?</p>
  
  <pre class="lang-swift prettyprint-override"><code>var numberOfCells = 0
  
  //My TableView
  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: "TextCell")! as UITableViewCell
      return cell
  }
  
  //Function that inserts rows
  func updateTableView(nextPassageID: Int) {
      for i in 0...numberOfCells - 1 {
          DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Double(i)) {
              self.numberOfCells += 1
              let indexPath = IndexPath(row: i, section: 0)
              self.tableView.insertRows(at: [indexPath], with: .fade)
              }
      }
  }
  </code></pre>