title: Crash caused by deleteRowsAtIndexPaths
body: <p>I have UISwitch and it's switch between 2 table view states. The problem is fast switching causing crash. I think it's because deleting row take some time (cuz animation) and if I added some cells and almost at the same time try to delete them then crash. What can I do? I really want animation, so [self.tableView reloadData] isn't solution.</p>
  
  <pre><code>- (void)switchChangedInIndexPath:(NSIndexPath *)indexPath
  {
      EBOrderFormCell *cell = (EBOrderFormCell *)[self.tableView cellForRowAtIndexPath:indexPath];
      BOOL on = cell.picker.on;
      if (indexPath.row == EBOrderFormTakeAway) {
          self.takeAway = on;
          [self takeAwayChanged];
      }
  }
  
  - (void)takeAwayChanged
  {
      NSArray *notTakeAwayCells = [[NSArray alloc] initWithObjects:
                                      [NSIndexPath indexPathForRow:EBOrderFormStreet inSection:0],
                                      [NSIndexPath indexPathForRow:EBOrderFormHouseNumber inSection:0],
                                      [NSIndexPath indexPathForRow:EBOrderFormFlatNumber inSection:0],
                                      nil];
      NSArray *takeAwayCells = [[NSArray alloc] initWithObjects:
                                [NSIndexPath indexPathForRow:EBOrderFormCafe inSection:0],
                                nil];
      [self.tableView beginUpdates];
      if (self.takeAway) {
          [self.tableView insertRowsAtIndexPaths:takeAwayCells withRowAnimation:UITableViewRowAnimationFade];
          [self.tableView deleteRowsAtIndexPaths:notTakeAwayCells withRowAnimation:UITableViewRowAnimationFade];
      } else {
          [self.tableView insertRowsAtIndexPaths:notTakeAwayCells withRowAnimation:UITableViewRowAnimationFade];
          [self.tableView deleteRowsAtIndexPaths:takeAwayCells withRowAnimation:UITableViewRowAnimationFade];
      }
      [self.tableView endUpdates];
  }
  </code></pre>
  
  <p><strong>Update:</strong> Fixed it with code upon:</p>
  
  <pre><code>- (void)takeAwayChanged
  {
      [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
  }
  </code></pre>