繁体   English   中英

iPhone-以编程方式确定故事板上的哪个UIViewController调用了我的课程?

[英]iphone - Programmatically determine which UIViewController on Storyboard called my class?

在我的情节提要中,我有两个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

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

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

尽管您可能不想将整个VC保留在内存中,但是也许可以将其重构为仅裸数据。 即使您必须传递所有属性!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM