我有一个UIViewController
,其容器视图包含UITableView
。
在UITableView中我有一个带NSPredicate
的NSFetchController,它使用来自初始UIViewcontroller
的变量(我希望你还在我身边)。对于用户更改容器视图的一个实例,不会更新。
发生这种情况时,如何强制在容器视图上重新加载/更新?我环顾四周,但没有看到这个话题。
具体来说,我有一个更改按钮日期的UIDatePicker。这是需要更新的。
答案 0 :(得分:15)
从最初的UIView控制器,您可以使用self.childViewControllers [0]获取对表视图控制器的引用。所以,你需要这样做:
UITableViewController *tbc = (UITableViewController *)self.childViewControllers[0];
[tbc.tableView reloadData];
答案 1 :(得分:0)
你写道你有UIViewController而不是UITableViewController - 如果你有UIViewController你必须有一个属性。我认为这里一切都很好..但是检查。
使用容器视图时我正在做的是通过以下方式添加元素:
_someVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeVC"];
[self addChildViewController:_someVC];
_someVC.view.frame = _containerView.bounds;
[_containerView addSubview:_someVC.view];
[_someVC didMoveToParentViewController:self];
而不是IB。希望有所帮助。