title: Insert new row in UITableView when tapping first row
body: <p>I'm new to iOS development. Therefore it would be nice if your answer could be as detailed as possible. My problem is the following: I want the cell in my second section to always say "add new row". If you click this cell a new row should be added on top. My current code is</p>
  
  <pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
  
  // Return the number of sections.
  return 2;
   }
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
  
  // Return the number of rows in the section.
  if (section == 0) {
      return 1;
  }
  else {
  
      return [entries count];
  }
  }
  
  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath        *)indexPath
  {
  static NSString *simpleTableIdentifier = @"Cell";
  static NSString *todayTableIdentifier = @"Notification";
  UITableViewCell *cell = [tableView       dequeueReusableCellWithIdentifier:simpleTableIdentifier];
  UITableViewCell *todaycell = [tableView dequeueReusableCellWithIdentifier:todayTableIdentifier];
  
  if (cell == nil) {
      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
  
  
  }
  NSString *entry;
  if (indexPath.section == 0) {
      entry = [notifications objectAtIndex:indexPath.row];
      cell = todaycell;
  } else {
      entry = [entries objectAtIndex:indexPath.row];
  }
  cell.textLabel.text = entry;
  
  return cell;
  
  }
  
  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  {
  
  int selectedRow = indexPath.row;
  NSLog(@"row pressed %d", selectedRow);
  NSArray *paths = [NSArray arrayWithObject:
                    [NSIndexPath indexPathForRow:2 inSection:2]];
  if (selectedRow == 0)
  {   [entries addObject:@"a new Entry"];
      [[self tableView] insertRowsAtIndexPaths:paths
                              withRowAnimation:UITableViewRowAnimationTop];
  }
  else {
      [[self tableView] deleteRowsAtIndexPaths:paths
                              withRowAnimation:UITableViewRowAnimationTop];
    }
  }
  </code></pre>
  
  <p>Unfortunately, my app keeps crashing.</p>
  
  <pre><code>2013-04-11 16:52:39.717 MyStore[12924:c07] *** Assertion failure in -[UITableView    _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:861
  2013-04-11 16:52:39.718 MyStore[12924:c07] *** Terminating app due to uncaught exception '    NSInternalInconsistencyException', reason: 'attempt to delete row 2 from section 2, but there    are only 2 sections before the update'
  *** First throw call stack:
  (0x1faa012 0x13e7e7e 0x1fa9e78 0xb6d665 0xbb43c 0xca1f6 0xca271 0x5c6b 0xcb285 0xcb4ed    0xad55b3 0x1f69376 0x1f68e06 0x1f50a82 0x1f4ff44 0x1f4fe1b 0x1f047e3 0x1f04668 0x1bffc 0x21bd  0x20e5 0x1)
  libc++abi.dylib: terminate called throwing an exception
  </code></pre>