我该如何调用父级TableView来重新加载
问题描述:
在这个iPhone应用程序中,我试图做到这一点,当你选择一个表格单元格时,它会保存该动作,弹出当前视图控制器并调用前一个视图控制器(这是并始终是一个TableView)重新加载它的单元格与新的数据。我该如何调用父级TableView来重新加载
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//update data code here
[self.navigationController popViewControllerAnimated:TRUE];
//Here is where I want the code to reload the view [parentTableView reload]; or something }
这就是我目前所面对的,当你选择当前表视图
答
你需要需要发送-reloadData
到UITableView细胞:
[tableView reloadData];
编辑:那么只是为了澄清,你有一个家长UITableViewController这推动了一个孩子UITableViewController到navigationController?您示例中的代码在子视图控制器中的didSelectRowAtIndexPath中实现?
如果是这种情况,你需要添加一个属性给你的孩子UITableViewController它存储一个指向其父对象的指针。确保这不是一个引用计数的属性,因为这会导致循环引用。所以在你弹出你的孩子之前,它可以发送-reloadData
到的tableView它的父母的属性。
谢谢@NSResponder :)。仍然不完全符合我的Objective-C语言。 – RedBlueThing 2010-01-14 05:52:08
虽然我如何获得对前一个tabelView的引用?我想要您要重新加载的页面,而不是您在离开导航堆栈时要离开的页面。 – Affian 2010-01-14 20:59:09
我通过将目标和选择器传递给作为回调函数的新视图来解决它,后来我还能够使用'NSNotification'来告诉它在新数据可用时进行更新 – Affian 2010-01-25 21:22:54