我有一个名为currentViewController的属性,它指向UIViewController或UITableViewController,具体取决于UISegmentedControl中的哪个段处于活动状态。
如果currentViewController碰巧指向UITableViewController,我可以通过
将UITableView更改为编辑模式[self.currentViewController setEditing:YES animated:YES];
但是,我现在想在tableView上运行reloadData。我试过这个,
[self.currentViewController reloadData];
它失败了。
关于如何在tableView上重新加载数据的任何想法。
答案 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];
}