我有一个称为currentViewController的属性,该属性指向UIViewController或UITableViewController,具体取决于UISegmentedControl中的哪个段处于活动状态。

如果currentViewController恰好指向UITableViewController,则可以通过以下方式将UITableView更改为编辑模式:

[self.currentViewController setEditing:YES animated:YES];


但是,我现在想在tableView上运行reloadData。我试过了
[self.currentViewController reloadData];

失败了

关于如何在tableView上重新加载数据的任何想法。

最佳答案

[self.currentViewController setEditing:YES animated:YES];效果很好,因为它同时为UIViewController(link)和UITableViewController定义(通过子类化UIViewController)。您真的想在tableView上调用reloadData,而不是在两个ViewController上调用。

尝试类似的东西:

  if([self.currentViewController isKindOfClass:[UITableViewController class]]){
    UITableViewController *tableVC = (UITableViewController *)self.currentViewController;
    [tableVC.tableView reloadData];
  }

关于ios - 从uiviewcontroller引用uiviewtablecontroller,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28162753/

10-13 04:11