Ios 从其他viewcontroller刷新viewcontroller的uitable
我在tabbarcontroller应用程序的一个选项卡视图中有一个uitable。现在,根据其他选项卡视图中的某些操作,uitable应该在后台重新加载(刷新)更新的数据。但是,我无法使用reloadData或BeginUpdate-EndUpdate获得它 在这种情况下,有人能帮忙吗Ios 从其他viewcontroller刷新viewcontroller的uitable,ios,uitableview,uitabbarcontroller,Ios,Uitableview,Uitabbarcontroller,我在tabbarcontroller应用程序的一个选项卡视图中有一个uitable。现在,根据其他选项卡视图中的某些操作,uitable应该在后台重新加载(刷新)更新的数据。但是,我无法使用reloadData或BeginUpdate-EndUpdate获得它 在这种情况下,有人能帮忙吗 提前感谢。我建议将NSNotification与ViewWillDisplay/ViewDidDisplay结合使用 当视图将出现时-重新加载tableview(您可以通过查找自上次显示数据以来的数据更改来优化
提前感谢。我建议将NSNotification与ViewWillDisplay/ViewDidDisplay结合使用 当视图将出现时-重新加载tableview(您可以通过查找自上次显示数据以来的数据更改来优化它) 一旦视图出现,并且在后台数据被其他对象更改-要求该对象发送通知,并且在tableview的viewcontroller中,该通知在ViewWillose中的注册将出现,在ViewWillose中取消注册将消失 另一个对象应该像这样发送/发布通知(就在数据更改之后)- viewController中的以下所有代码(其中包含要更新的表)- 像这样登记-
- (void)viewWillAppear:(BOOL)animated
{
// Your other code here...
[self.tableview reloadData];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNewDataReceivedNotification:) name:@"com.yourcompany.appname.XYZdataChangeNotification" object:nil];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"com.yourcompany.appname.XYZdataChangeNotification" object:nil];
}
视图控制器中的通知处理程序-
- (void)handleNewDataReceivedNotification:(NSNotification *)notification
{
// Your other code here...
[self.tableview reloadData];
}
然后像这样取消注册-
- (void)viewWillAppear:(BOOL)animated
{
// Your other code here...
[self.tableview reloadData];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNewDataReceivedNotification:) name:@"com.yourcompany.appname.XYZdataChangeNotification" object:nil];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"com.yourcompany.appname.XYZdataChangeNotification" object:nil];
}
上面所有的代码都可以改进,但它应该会给你一个想法。如果您有任何问题/顾虑,请随时提问。因为您是本论坛的新成员,所以有一条建议-在您发布问题后,您应该回访,接受或投票赞成或反对。反馈很重要。