iOS中addObserver的位置

时间:2016-07-06 22:46:56

标签: ios objective-c uitabbar addobserver

我使用Objective-C开发iOS tabBar应用程序。当用户打开应用程序时,它位于tab1中。当用户单击tab1中的图片时,应用程序将跳转到带有图片名称的tab3。

问题是在tab3中调用addObserver,因为tab3永远不会打开?

1 个答案:

答案 0 :(得分:0)

如果我的问题正确无误,您只需在单击标签1中的照片时打开标签3

IMO,它应该有类似window-> mainController-> tabController [tabs]

在你的tab1Controller你可以设置一个委托让我们调用它" Tab1ControllerDelegate"有一个名为" tab1DidSelectSomething:(NSString *)的东西"。然后在你的mainController中你可以将委托分配给self。

 i.e.
  tab1Controller.delegate = self;

在tab1Controller选择器操作中,您可以执行以下操作:

if(_delegate){ [_delegate tab1DidSelectSomething:<whatEverheSelected>]; }

然后在你的mainController中:

-(void)tab1DidSelectSomething:(NSString *)something{ // get the viewController here UIViewController *controller = _tabController.viewControllers[2]; [controller updateselected:something]; _tabController.selectedIndex = 2; }