将数据从视图控制器传递到tabbarcontrollers

时间:2017-01-15 08:41:09

标签: ios objective-c uiviewcontroller uitabbarcontroller segue

假设我有一个登录视图控制器,登录视图控制器有一个segbar到tabbarviewcontroller,tabbarviewcontroller有四个控制器。我想从该登录视图控制器同时将数据传递到所有标签栏控制器。我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:1)

  1. 创建一个新的UITabBarController子类,比如ParentTabBarController。

  2. 然后在您的故事板中,从Identity Inspector面板中将TabBarController的类设置为ParentTabBarController。

  3. 在ParentTabBarController.h中,为要传递的数据添加@property。类似的东西:

    @property (strong, nonatomic) NSString *data;
    
  4. 当您从登录视图转到TabBarView时,请传递prepare for segue方法中的数据。

    ParentTabBarController *pTBVC = [segue destinationViewController];
    pTBVC.data = @"Hello";
    
  5. 在任何标签栏控制器中,您都可以通过

    访问父TabBarController的数据
    ParentTabBarController *parent = ((ParentTabBarController *)self.parentViewController);
    NSString *data = parent.data;