从 uiviewcontroller 引用 uiviewtablecontroller

Reference a uiviewtablecontroller from uiviewcontroller

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

如果currentViewController恰好指向UITableViewController,我可以通过

将UITableView变为编辑模式
[self.currentViewController setEditing:YES animated:YES];

但是,我现在想 运行 在 tableView 上重新加载数据。我试过这个, [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];
  }