目标C:如何切换标签后立即重新加载tableview?

我有我的tabbar控制器中的2个tabbars。 我目前在第二个tabbar中,当我点击一个“完成”button后,tabbar控制器需要切换到第一个tab并自动刷新它的tableview。

我能够执行第一部分

//Switch to the first tab's view self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0]; 

不过,我需要一些build议,如何在切换后立即刷新第一个视图的tableview。 任何意见表示赞赏。

编辑:更新的要求

注意:我不希望每次有人点击标签页时,都会重新加载tabbar中的视图。 重新加载应该只发生在标签1的tableview时

1)用户在标签2中

2)用户点击标签2中的“完成button”

3)应用程序切换到标签1 +重新加载tableview在标签1

理由是用户将更新标签2中的一些信息,只能在标签1中查看。我希望用户能够在切换到标签1后立即查看更新的信息。

之后可以发送NSNotification

在第二个选项卡上按完成button

并在第一个选项卡控制器上处理此通知。

你可以在第一个视图的viewDidAppear:方法中执行[tableView reloadData]

编辑:编辑添加额外的数据。

一般的警告在这里,苹果倾向于像这样的自定义用户界面模式皱眉。 我不确定你的应用程序在这里要做什么,但是只有当用户明确地点击了该选项卡时,你才应该坚持切换选项卡。 你有没有看过模态视图控制器,如果你想呈现一个屏幕,并获取一些数据,而不是在一个标签栏中?

如果没有,我想你可以有一个解决scheme,第一个选项卡是第二个选项卡的代表。 点击button后,可以调用[delegate doneBtnClicked:]以便控件切换到第一个选项卡。 在这个函数中,你可以使用setSelectedIndex:到你当前的选项卡,并在表视图中调用reloadData:

所以,创build一个DONEbutton作为UIBarButtonItem ,在它的IBAction中,执行以下操作。

为了在第一个选项卡中重新加载视图的tableView,将该tableView作为该类的property ,并像@class class1一样reference the class ,并为View2的类View1(Tab1)创build一个对象作为属性class1 *object1 (Tab2),并使用object1访问array1

 [class1.object1.array1 reloadData]; 

为了使视图变为制表符,请使用

 self.tabBarController.selectedIndex = 0; 

这几乎是它!

另外,你也可以使用singleton类来达到这个目的。