[英]How to get parent of child view controller?
我有一个带分段控制的视图controllerA,并且在不同的段选择上在controllerA中添加了两个视图控制器(B&C)视图。我在controllerB和controllerC上各有一个按钮。单击每个controllerB和controllerC时,我是去控制器D。
我怎么知道我来自哪个控制器?
我已经在下面尝试过代码,但是我认为由于添加到controllerA的控制器(B&C)的视图,它给了我零。
guard let parent = self.parent else {return}
在这种情况下如何获得父母?
我曾经使用的稍微不同的解决方案:
声明与发件人A,B,C等的枚举。
enum Sender { case A case B case C }
在D中放置一个名为sender的变量。
var sender : Sender!
在初始化VC集时,它是各自的发送者。 如果您使用segue,请准备segue以设置值。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "D" { let vc = segue.destination as! D vc.sender = B or C //As required } }
然后,您可以使用发件人的值根据发件人执行任何操作。 这里的好处是,如果您继续导航,则始终可以将发件人值传播到下一个ViewController。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.