在segue之后设置tabbar中第一个标签的值

时间:2013-01-25 08:57:25

标签: iphone ios objective-c storyboard segue

我有以下情况。 enter image description here

就像你看到我有一个转到tabbarController的segue。但是我需要在屏幕上指向的de VC中设置一个id。你们有什么想法我能做到这一点吗?

通常你会使用这段代码。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"showTab"]) {
        [segue.destinationViewController setPersonId:personobject.cu_id];
    }
}

但这是我的tabbarController,而不是我的FirstTabController。有什么帮助吗?

亲切的问候

2 个答案:

答案 0 :(得分:1)

您的目标视图控制器是UITabBarController。您必须在第一个选项卡中从该选项卡控制器获取一个实例到控制器。

UITabBarController *tabController = (UITabBarController *) segue.destinationViewController;
FirstTabController *firstController = [tabController.viewControllers objectAtIndex:0];

[firstController setPersonId:personobject.cu_id];

答案 1 :(得分:0)

Oké,

我通过以下方式将personId保存到NSUserDefaults来解决我的问题。

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
                             [prefs setInteger:[personObject.cu_id intValue] forKey:@"personId"];
                             [prefs synchronize];

现在我可以通过调用以下内容在每个VC中访问它。

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    _personId = [NSNumber numberWithInt:[prefs integerForKey:@"personId"]];