以下是我目前的流程:
1)点按添加按钮 2)在我的模态视图控制器中填写UITextFields 3)点击“保存”按钮 4)将数据添加到UITableViewCell 5)重复步骤1 - 3 6)新数据被添加到第二个单元格,但两个单元格中的数据都来自新输入
如何使用相同的模态视图控制器添加新数据,并将其保留在我之前的单元格中,甚至在点击这些单元格时查看数据?
这是我进入模态视图控制器并向其添加数据的过程:
-(IBAction)goToModalView:(id)sender
{
if (self.educationViewController == nil)
{
EducationViewController * temp = [[EducationViewController alloc] initWithNibName:@"EducationViewController" bundle:[NSBundle mainBundle]];
self.educationViewController = temp;
_dataArray = [[NSMutableArray alloc] init];
[_dataArray addObject:temp];
}
else
{
[self addEducation:sender];
}
[self presentViewController:self.educationViewController animated:YES completion:nil];
}
-(IBAction)addEducation:(id)sender
{
[_myTableView beginUpdates];
[_dataArray addObject:self.educationViewController.majorString];
NSArray * paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:[_dataArray count]-1 inSection:0]];
[_myTableView insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationTop];
[_myTableView endUpdates];
}
这是我在模态视图控制器中保存文本的地方:
-(IBAction)saveData
{
if (_majorTextField.text == nil)
{
_majorString = @"";
}
else
{
_majorString = [[NSString alloc] initWithFormat:@"%@", _majorTextField.text];
[_majorTextField setText:_majorString];
NSUserDefaults * majorDefault = [NSUserDefaults standardUserDefaults];
[majorDefault setObject:_majorString forKey:@"major"];
}
// Other text field code here
[self dismissViewControllerAnimated:YES completion:nil];
}
任何建议表示赞赏!非常感谢!
答案 0 :(得分:0)
我不会将数据直接添加到UITableView,而是将其添加到NSMutableArray中。然后我会使用该数组作为表的数据源,按下保存按钮后,我会调用
[_myTableView reloadData];
答案 1 :(得分:0)
我不明白goToModalView()为什么要做“[_dataArray addObject:temp];”。但请保留,在addEducation()中,您可以使用
[_myTableView reloadData];
阅读整个表格。