在实例化ViewController之前更改/修改运行时用户定义的属性

时间:2014-01-02 09:22:54

标签: ios objective-c uiviewcontroller storyboard uistoryboardsegue

简而言之,我想知道“如何在实例化View Controller之前更改运行时用户定义的属性”
为什么我需要这个
我正在创建一个使用多个故事板的应用程序。我有一个主要的故事板,其中UIViewController被指定为LinkViewController。它有一个字符串属性,告诉它必须链接哪个故事板。现在我想要做的是,我想在appDelegate&更改该属性。然后实例化viewController。到目前为止还没能做到。

这就是我在做的事情:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];         
EffLinkHomeVC *rootController = [storyboard instantiateViewControllerWithIdentifier:@"linkView"];
 rootController.storyBoardName = @"wxyzForiPhone";
 self.window.rootViewController = rootController;

我找到了其他几种解决方法。但我只想更清楚地了解如何更改“运行时用户定义的属性”。谢谢你们。 :)

1 个答案:

答案 0 :(得分:1)

据我所知,你只能使用nib中可用的代理/外部对象来执行此操作。 检查答案here以查看其用法的一个很好的示例。

从外观上看,此功能隐藏在故事板中或从故事板中删除。唯一记录的配置方法是静态的。在您的情况下,它将使用您正在使用的故事板中的属性进行静态配置。如果这样就足够了,您可以使用键值机制为每个故事板静态配置不同的值。

除此之外,你只有普通的post init viewController方法。