【问题标题】:instantiateViewControllerWithIdentifier in Storyboard在情节提要中实例化ViewControllerWithIdentifier
【发布时间】:2013-03-03 04:45:16
【问题描述】:

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

我用调用

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

但是,当我在 secondViewController 的 dataController 属性上调用 countArrayObjects 时,我总是返回 0 - 尽管数组中应该有对象,但我不知道为什么?

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

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

有什么想法吗?

【问题讨论】:

    标签: ios storyboard instantiation tabbar


    【解决方案1】:

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

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

    这是我写的测试代码……

    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.
    

    它有效,但它是错误的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2014-12-26
      • 2014-06-02
      • 1970-01-01
      相关资源
      最近更新 更多