iphone - 以编程方式确定Storyboard上哪个UIViewController称为我的类?

时间:2012-06-03 16:05:38

标签: iphone objective-c

在我的故事板中,我有两个使用CustomViewController类的UIViewControllers。

从CustomViewController.m的viewDidLoad函数中,如何确定故事板中哪个UIViewController正在调用此类?例如:

- (void)viewDidLoad
{
if(CALLED_FROM_VC1_IN_STORYBOARD)
{
// load from data feed 1
}
else
{
// load from data feed 2
}
}

我应该将CALLED_FROM_VC1_IN_STORYBOARD替换为什么?

1 个答案:

答案 0 :(得分:0)

您需要在第一个VC上使用prepareForSegue:sender方法将数据传递给第二个VC上的属性。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    segue.destinationViewController.originatingVC = segue.sourceViewController;
}

虽然您可能不希望将整个VC保留在内存中,但也许可以将其重构为裸数据。即使你必须传递每一处房产!

viewDidLoad通常在prepareForSegue之后调用,但要注意UIPopovers是一个例外。