Objective c UITableView在解除ViewController后重新加载数据
我有两个取景器。其中有一个表格视图,每个单元格上都有一个按钮。单击此按钮后,将显示另一个视图控制器。在该viewcontroller中执行某些功能后,我通过调用[self dismissViewContrller animated:YES completion:nil]将其解除;现在,在它被解除后,我想在第一个viewcontroller的tableview中重新加载数据。有什么办法吗? 如果需要,我可以发布代码Objective c UITableView在解除ViewController后重新加载数据,objective-c,uitableview,uiviewcontroller,Objective C,Uitableview,Uiviewcontroller,我有两个取景器。其中有一个表格视图,每个单元格上都有一个按钮。单击此按钮后,将显示另一个视图控制器。在该viewcontroller中执行某些功能后,我通过调用[self dismissViewContrller animated:YES completion:nil]将其解除;现在,在它被解除后,我想在第一个viewcontroller的tableview中重新加载数据。有什么办法吗? 如果需要,我可以发布代码 谢谢。您可以在视图中执行此操作。视图显示在带有tableview的视图控制器上 -
谢谢。您可以在视图中执行此操作。视图显示在带有tableview的视图控制器上
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.tableView reloadData];
}
这将迫使您的tableview在每次视图控制器出现在屏幕上时重新加载。这是它第一次出现,因此表视图将在启动时重新加载两次,我想也是在将导航堆栈备份到此视图控制器时。您可以在视图中执行此操作,并在视图控制器上显示表视图
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.tableView reloadData];
}
这将迫使您的tableview在每次视图控制器出现在屏幕上时重新加载。这是它第一次出现,因此我认为表视图将在启动时重新加载两次,以及在将导航堆栈备份到此视图控制器时重新加载两次
使用此功能,您可以在关闭secondviewcontroller后每次出现视图时重新加载tableview,只需在firstviewcontroller中添加以下代码即可
使用此功能,您可以在每次关闭secondviewcontroller后出现视图时重新加载tableview。有多种方法可供选择 除了已经给出的大多数答案之外,还有一个额外的选择,就是检查ViewWill中是否有presentedViewController
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (self.presentedViewController) {
[self.tableView reloadData];
}
}
这不是什么大问题,但如果你有大量的数据或其他东西,可能对额外的检查很有用。有几种方法可以组合使用 除了已经给出的大多数答案之外,还有一个额外的选择,就是检查ViewWill中是否有presentedViewController
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (self.presentedViewController) {
[self.tableView reloadData];
}
}
检查没有什么大不了的,但是如果您有大量的数据或其他东西,可能对额外的检查很有用。将代理设置为重新加载第一视图控制器OK。。。。具体怎么做?在ViewWillExample方法中添加tableview重新加载数据方法设置委托以重新加载第一个视图控制器OK。。。。具体怎么做?在ViewWillAppeard方法中添加tableview重载数据方法