显示我使用的mainView中的模态uiview:
[self presentModalViewController:myController animated:YES];
并在MyController中我使用以下命令关闭该视图:
[self dismissModalViewControllerAnimated:YES];
但是我怎么能在mainView中知道模态已经完成(重绘我的表)? 目前,在启动模态视图后,我在mainView中将局部变量设置为YES,并对viewWillAppear做出反应:
[self presentModalViewController:myController animated:YES];
_reloadTableData = YES;
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (_reloadTableData) {
_reloadTableData = NO;
[_tableView reloadData];
}
}
有更好的方法吗?
答案 0 :(得分:4)
一般来说,通过模态视图本身来解除模态视图是不合适的。
相反,您应将主视图设置为模式视图的委托。当模态视图完成其任务时,它可以让其委托知道并让其委托解雇它。这是Objective-C中非常常见的所谓委托设计模式。
顺便说一句,您可能需要咨询一些代码示例以更好地理解此委托模式。我建议你看一下Xcode的默认模板 - Utility Application 模板。它内置了一个非常简洁,简单明了的委托结构。