从uiviewcontroller引用uiviewtablecontroller

时间:2015-01-27 03:29:11

标签: ios objective-c uitableview uiviewcontroller

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

如果currentViewController碰巧指向UITableViewController,我可以通过

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

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

它失败了。

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

1 个答案:

答案 0 :(得分:4)

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

尝试类似:

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