最近的项目中遇到很多信息编辑的东西,大家都知道需要将编辑页的信息回传到显示页。我这里是用一个block去传递这些信息的。信息传递完成,显示在tableView的Cell上。大概是这个样子
if (indexPath.row == 2) {
ZMInputViewController *vc = [[ZMInputViewController alloc]init];
vc.block = ^(NSString *result) {
ZMEditResumeTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.content.text = result;
};
[self.navigationController pushViewController:vc animated:YES];
}
这样做的话,当cell比较少的时候是不会出现问题的,因为不会出现cell的复用。当cell比较多时,就会出现滑动,问题消失。解决这个问题,要从数据源上着手。大概是这个样子
ZMInputViewController *vc = [[ZMInputViewController alloc]init];
vc.block = ^(NSString *result) {
[_conentArray replaceObjectAtIndex:indexPath.row withObject:result];
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone];
};
[self.navigationController pushViewController:vc animated:YES];
刚开始在写东西,有些粗糙,欢迎同行提问,指教