Xcode iPad从细节视图刷新主数据。
我希望能够根据在我的详细视图控制器中执行的操作刷新我的应用程序主端的表 在本例中,我在左侧(主)有一个orders表,它向下钻取以显示3个级别的订单:Open、Hold和Sent。因此,如果我“更改”订单的状态(暂停、取消暂停、发送等),我希望能够在主界面反映这一点。有什么想法吗 从我尝试过的详细视图控制器中的操作按钮: 一, 二, 编辑: 我试图添加通知,但它不起作用:Xcode iPad从细节视图刷新主数据。,xcode,ipad,uisplitviewcontroller,detailsview,master,Xcode,Ipad,Uisplitviewcontroller,Detailsview,Master,我希望能够根据在我的详细视图控制器中执行的操作刷新我的应用程序主端的表 在本例中,我在左侧(主)有一个orders表,它向下钻取以显示3个级别的订单:Open、Hold和Sent。因此,如果我“更改”订单的状态(暂停、取消暂停、发送等),我希望能够在主界面反映这一点。有什么想法吗 从我尝试过的详细视图控制器中的操作按钮: 一, 二, 编辑: 我试图添加通知,但它不起作用: 我一定错过了什么 我正在awakeFromNib中添加一个观察者: [[NSNotificationCenter defau
我一定错过了什么 我正在awakeFromNib中添加一个观察者:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshOrders:) name:@"OrderStatusChanged" object:odc];
并从订单中发送:
[[NSNotificationCenter defaultCenter] postNotificationName:@"OrderStatusChanged" object:self];`
但是指定的选择器从不激发。我遗漏了什么?我会将详细视图中的表视图的引用(可能在AppDelegate中)传递给主视图,并直接调用表重新加载数据
或者您可以使用通知,主视图会发出通知,而详细视图会通过加载相应的数据来响应。如果您使用的是默认的splitview控件,则可以执行此操作
[self.rootViewController.tableView reloadData];
虽然你已经选择了答案。。 在DetailView中的任意位置调用此选项:
UINavigationController *navController = self.splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)navController.topViewController;
考虑通知。我没怎么用过。我会调查的。它们使用起来非常简单,你可以在字典中传递自定义用户数据,非常方便。我一定是遗漏了什么。我一定错过了什么。我正在awakeFromNib中添加一个观察者:
[[NSNotificationCenter defaultCenter]addObserver:self-selector:@selector(refreshOrders:)name:@“OrderStatusChanged”对象:odc]代码>和来自订单的过帐:[[NSNotificationCenter defaultCenter]postNotificationName:@“OrderStatusChanged”对象:self]代码>但指定的选择器从不激发。我错过了什么?哈!将notification observer移动到viewDidLoad,它可以像champ一样工作!谢谢@德夫拉伊
[self.rootViewController.tableView reloadData];
UINavigationController *navController = self.splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)navController.topViewController;