ios

数据刷新

2015-09-27  本文已影响269人  iOS_Cqlee

数据刷新

添加数据

删除数据

更改数据

全局刷新方法(最常用)

[self.tableViewreloadData];// 屏幕上的所有可视的cell都会刷新一遍

局部刷新方法


添加数据

NSArray*indexPaths = @[                        [NSIndexPathindexPathForRow:0inSection:0],                        [NSIndexPathindexPathForRow:1inSection:0]                        ];[self.tableViewinsertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight];


删除数据

NSArray*indexPaths = @[                        [NSIndexPathindexPathForRow:0inSection:0],                        [NSIndexPathindexPathForRow:1inSection:0]                        ];[self.tableViewdeleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];


更新数据(没有添加和删除数据,仅仅是修改已经存在的数据)

NSArray*indexPaths = @[                        [NSIndexPathindexPathForRow:0inSection:0],                        [NSIndexPathindexPathForRow:1inSection:0]                        ];[self.tableViewrelaodRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];

左滑出现删除按钮

需要实现tableView的代理方法

/**

*  只要实现了这个方法,左滑出现Delete按钮的功能就有了

*  点击了“左滑出现的Delete按钮”会调用这个方法

*/- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{

// 删除模型[self.wineArrayremoveObjectAtIndex:indexPath.row];

// 刷新[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];}/**

*  修改Delete按钮文字为“删除”

*/- (NSString*)tableView:(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath*)indexPath{return@"删除";}

左滑出现N个按钮

需要实现tableView的代理方法

/**

*  只要实现了这个方法,左滑出现按钮的功能就有了

(一旦左滑出现了N个按钮,tableView就进入了编辑模式, tableView.editing = YES)

*/- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{}/**

*  左滑cell时出现什么按钮

*/- (NSArray*)tableView:(UITableView*)tableView editActionsForRowAtIndexPath:(NSIndexPath*)indexPath{UITableViewRowAction*action0 = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleNormaltitle:@"关注"handler:^(UITableViewRowAction*action,NSIndexPath*indexPath) {NSLog(@"点击了关注");// 收回左滑出现的按钮(退出编辑模式)tableView.editing=NO;    }];UITableViewRowAction*action1 = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefaulttitle:@"删除"handler:^(UITableViewRowAction*action,NSIndexPath*indexPath) {        [self.wineArrayremoveObjectAtIndex:indexPath.row];        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];    }];return@[action1, action0];}

进入编辑模式

// self.tabelView.editing = YES;[self.tableViewsetEditing:YESanimated:YES];// 默认情况下,进入编辑模式时,左边会出现一排红色的“减号”按钮

在编辑模式中多选

// 编辑模式的时候可以多选self.tableView.allowsMultipleSelectionDuringEditing=YES;// 进入编辑模式[self.tableViewsetEditing:YESanimated:YES];// 获得选中的所有行self.tableView.indexPathsForSelectedRows;

上一篇下一篇

猜你喜欢

热点阅读