在我的故事板中,我有两个使用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
替换为什么?
答案 0 :(得分:0)
您需要在第一个VC上使用prepareForSegue:sender
方法将数据传递给第二个VC上的属性。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
segue.destinationViewController.originatingVC = segue.sourceViewController;
}
虽然您可能不希望将整个VC保留在内存中,但也许可以将其重构为裸数据。即使你必须传递每一处房产!
viewDidLoad通常在prepareForSegue之后调用,但要注意UIPopovers是一个例外。