//當(dāng)前行是否可以編輯
-(BOOL)tableView:(UITableView*)tableView canEditRowAtIndexPath:(NSIndexPath*)indexPath {
if(indexPath.row==0)returnNO;
returnYES;
}
//當(dāng)前行是如何編輯(刪除增加)
-(UITableViewCellEditingStyle)tableView:(UITableView*)tableView editingStyleForRowAtIndexPath:(NSIndexPath*)indexPath {
//最后一行插入
if(indexPath.row==self.mArray.count-1)
returnUITableViewCellEditingStyleInsert;
//其他行刪除
returnUITableViewCellEditingStyleDelete;
}
//編輯后(刪除或增加)如何處理
-(void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath {
if(editingStyle ==UITableViewCellEditingStyleDelete) {
NSLog(@"刪除元素");
//先把數(shù)組中的元素刪除
[self.mArrayremoveObjectAtIndex:indexPath.row];
[tableViewreloadData];
//[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];
}elseif(editingStyle ==UITableViewCellEditingStyleInsert) {
NSLog(@"插入元素");
//先向數(shù)組中插入元素
[self.mArrayaddObject:@"趙六"];
//[tableView reloadData];
NSIndexPath*myIndexPath = [NSIndexPathindexPathForRow:self.mArray.count-1inSection:0];
[tableViewinsertRowsAtIndexPaths:@[myIndexPath]withRowAnimation:UITableViewRowAnimationLeft];
NSLog(@"--- %@",self.mArray);
}
}
//當(dāng)前行是否可以移動(dòng)
-(BOOL)tableView:(UITableView*)tableView canMoveRowAtIndexPath:(nonnullNSIndexPath*)indexPath {
returnYES;
}
//移動(dòng)完成后如何操作
-(void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath {
//移動(dòng)完成后數(shù)組里的元素也應(yīng)該交換位置
NSString*name =self.mArray[sourceIndexPath.row];
//從數(shù)組中刪除
[self.mArrayremoveObjectAtIndex:sourceIndexPath.row];
//把元素插入到目標(biāo)的位置
[self.mArrayinsertObject:nameatIndex:destinationIndexPath.row];
[tableViewreloadData];
}