ViewController层次结构变得'迷失'

时间:2011-09-15 15:12:13

标签: iphone uiviewcontroller

我有一个视图层次结构,它按照以下方式设置(编程):

Window.root = TabBarController - > UINavigationControllers - > UIViewControllers

我认为这是相当标准的。这是我的问题:

我在选项卡A上。我想导航到选项卡B,并在选项卡B上的visibleViewController上调用一个方法。

// View Changes OK
[AppDelegate.tabBarController setSelectedIndex:tabB];

// nav  = 0x387ABF i.e. Valid Address
UINavigationController *nav = (UINavigationController*)[AppDelegate.tabBarController selectedViewController];

// The problem:
nav.viewControllers; // this is nil
nav.topViewController; // as is this
nav.visibleViewContorller; // this too.

即使我将调用nav.viewControllers放在从主线程调用的单独方法中,我仍然会得到0x0 / nil

我做错了什么?

后续问题是: 更改标签时,如何将信息从一个ViewController传递到另一个ViewController? (如果我不能将VC上的方法从tabA调用到tabB)

I have a feeling it is related to my question here.

1 个答案:

答案 0 :(得分:0)

您应该将信息存储在一个公共场所,无论是单身还是初学者,只需上课并传递下去。

sharedDataObject = [[MySharedDataObject alloc] init];

firstViewController.myDataObject = sharedDataObject;
secondViewController.myDataObject = sharedDataObject;