0

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

从 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

4

1 回答 1

0

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

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

尽管您可能不想将整个 VC 保存在内存中,但可能会将其重构为仅裸数据。即使您必须传递所有财产!

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

于 2012-06-03T16:39:23.540 回答