Swift:将数据传递给 segue

Posted

技术标签:

【中文标题】Swift:将数据传递给 segue【英文标题】:Swift: pass data to a segue 【发布时间】:2017-06-02 15:41:37 【问题描述】:

我想根据我按下的按钮来改变我的 segue 行为。两个按钮都打开了 sam VC,但通过了不同的颜色和更多的信息。但我也想在打开第二个 VC 时更改动画。

按照教程,我使用 CustomSegue 类制作了 CustomSegue.swift:UIStoryboardSegue。在那个课程中,我有我的动画功能,我想改变视图的显示方式(从左到右)。为此,我需要知道按下了哪个按钮来更改参数。

如何让我的自定义 segue 类知道按下了哪个按钮?

【问题讨论】:

一种可能的解决方案是为按钮分配不同的标签并将按钮传递为sender 我如何才能访问 CustomSegue 类中的发件人? 您调用performSegue,然后框架调用prepareForSegue,您可以在执行转换之前进行设置。 我已经做到了。问题是,除了将数据从一个 VC 传递到另一个 VC 之外,我还想将数据传递给我的 segue 类。因为我一直在关注动画 VC 外观的教程,所以我需要制作一个继承自 UIStoryboardSegue 的新 CustomSegue。动画在那里执行,我需要一些数据,而不是在第二个 VC 中 您没有提到问题是关于自定义类的。我不知道那个类是做什么的。 【参考方案1】:

我现在已经能够自己解决了。通过在我的第一个 VC 的 prepare() 函数中将数据发送到我的自定义类。现在我可以发送按下哪个按钮的信息。我想用它,你需要在两个VC之间建立连接,但是看起来它也可以用来在两个类之间发送数据。

【讨论】:

以上是关于Swift:将数据传递给 segue的主要内容,如果未能解决你的问题,请参考以下文章

Swift segue 不会将数据传递给旧的 ViewController

在函数内将数据传递给 segue.destination 的问题

Swift:如何将数据传递给嵌入在 ContainerView 中的 PageViewController?

将数据传递给父场景的委托与展开 Segue

在准备 segue 时,如何将数据传递给子 UIViewController?

如何将数据传递给嵌套控制器(UIContainerView)?