故事板中的instantiateViewControllerWithIdentifier

时间:2013-03-14 17:20:06

标签: ios storyboard instantiation tabbar

我制作了一个带有两个视图的标签栏控制器(模板中的标准设置)。第一个视图是访问dataController对象中的数组。当我点击标签栏上的第二个视图时,我希望在第二个viewController的dataController属性上设置dataController引用。

我使用电话

SecondViewController *vc = [[self storyboard] instantiateViewControllerWithIdentifier:@"SecondViewController"];
vc.dataController = self.dataController;

然而,当我在secondViewController的dataController属性上调用countArrayObjects时,我总是得到0回来 - 虽然数组中应该有对象,但我无法找出原因?

我在MainStoryBoard中的secondViewController上设置了标识符,我没有崩溃,该属性没有设置(我认为)。

出于测试目的,我在点击第二个视图之前从一个简单的按钮调用instantiateViewControllerWithIdentifier。我在secondViewController上从viewDidLoad调用countArrayObjects。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

嗯......我遇到了同样的问题。目前,我解决这个问题的唯一方法是测试视图superview为nil - 当访问类的视图选择器时,它会激活视图加载事件......

我们俩都在这里做错了...

这是我写的测试代码......

SummaryViewController *sc = [self.childViewControllers objectAtIndex:0];
if(sc.view.superview == nil) sc.checkInTime.alpha = 0;
//-- by inspecting the value, it will call the viewDidLoad method of the controller.

它有效,但这是错误的。