// Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { // Delete the row from the data source // 一、應當先刪除對應行的數據 // 二、再將對應行的單元格從表視圖中刪除 [self.datasource removeObjectAtIndex:indexPath.row]; [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle]; } else if (editingStyle == UITableViewCellEditingStyleInsert) { // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view // 一、如今數組中插入對應的對象 // 二、建立對應對象的indexPath // 三、根據indexPath在表視圖中的位置插入對應行 [self.datasource addObject:@"新插入的數據"]; NSIndexPath *insertPath = [NSIndexPath indexPathForRow:self.datasource.count - 1 inSection:0]; [tableView insertRowsAtIndexPaths:@[insertPath] withRowAnimation:UITableViewRowAnimationMiddle]; } }
當表格被拖拽後會相應此方法,數組
當表格處於編輯狀態時,能夠經過如下方法設置相應的表格是否與許被編輯app