9

在我的内部viewDidLoad,我想要一些基于先前控制器的自定义代码。

如何访问目标控制器的 viewDidLoad 中的 segue 源控制器或先前的 segue 标识符来处理这个问题?

4

3 回答 3

7

无法获得对创建您的 segue 的引用。您可以在目标控制器中创建一个属性(在我的示例中为 sourceVC),并在 prepareForSegue 方法(在源视图控制器中)中将 self 分配给该属性:

[(DestinationVCClass *)segue.destinationViewController sourceVC] = self;
于 2013-05-30T22:41:20.970 回答
5

您可以使用[self presentingViewController]并且可以访问发布 segue 的 VC。我通常喜欢将它与isMemberOfClass:这种情况结合起来。

于 2013-05-30T22:20:16.663 回答
0

您在目的地的展开 segue 方法中执行以下操作

self.source = (UIStoryboardSegue *)segue.sourceViewController;

将源定义为目标中的 UIStoryboardSegue。上面的行将给出来源或之前的segue。

于 2015-12-01T23:54:25.767 回答