代码如下:
#pragma mark - 数据刷新
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//拿到需要改变的数据
Film *dataFilm = _dataArray[indexPath.row];
//创建弹窗
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"修改数据" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
//弹窗样式
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *text = [alert textFieldAtIndex:0];
//把当前的电影评分数据显示到文本框中
text.text = dataFilm.rate;
alert.tag = indexPath.row;
[alert show];
}
//修改数据完成刷新操作
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
//修改数据
//如果选中的是取消,那么就返回,不做任何操作
if (buttonIndex == 0) {
return;
}
Film *film = _dataArray[alertView.tag];
//拿到当前弹窗中的数据
UITextField *text = [alertView textFieldAtIndex:0];
film.rate = text.text;
//刷新数据指定行
NSIndexPath *index = [NSIndexPath indexPathForRow:alertView.tag inSection:0];
[self.tableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationRight];
}