将数据从一个视图控制器传递到下一个视图控制器,而无需在 swift 中进行 segue

     2023-02-23     83

关键词:

【中文标题】将数据从一个视图控制器传递到下一个视图控制器,而无需在 swift 中进行 segue【英文标题】:Pass data from one view controller to the next WITHOUT a segue in swift 【发布时间】:2015-06-21 21:44:07 【问题描述】:

所以我有一个应用程序,您可以在第一个屏幕中选择一个按钮,它会根据您在第一个屏幕上选择的按钮将您带到另一个屏幕。因为我有这些可能的不同布局,所以我不能只使用从一个按钮到下一个视图控制器的 segue,因为涉及到中间屏幕。所以它是这样的:

1 ---> 2 ---> 3a || 3b || 3c || 3d等...

因此,您在第一个屏幕上的选择决定了您在第三个屏幕上的外观。

因此,我想在第一个视图中为每个按钮关联一个值,通过 segue 将其发送到第二个视图,然后再次发送到第三个视图并告诉它使用正确的 segue 到基于与第一个视图关联的值的适当的第三个视图控制器。但是我不能这样做,因为我不能将第二个屏幕设置为第三个屏幕的所有可能布局......至少我认为我不能。

底线问题:在没有转场的情况下单击按钮后是否仍要转到另一个视图控制器,同时又将数据发送到下一个视图控制器,而无需转场将其存储在其中?

请帮帮忙哦

【问题讨论】:

【参考方案1】:

按照这些步骤...

1:创建一个名为 Manager.swift 的单独文件并将此代码放入其中...

//manager.swift

    import Foundation

    struct Manager 

    static var messageText = String()


    

2:按 Shift+Command+K 清理您的项目。

3:在第一个视图控制器中,将 messageText 设置为您要传递的数据...

Manager.messageText = self.dataToPass

4:在第二个视图控制器中检索数据并将内容设置为消息文本...

self.dataToReceive = Manager.messageText

5:你完成了!!

【讨论】:

【参考方案2】:

所以相反,我想为每个按钮关联一个值 在第一个视图中,通过 segue 将其发送到第二个视图,并且 然后再次发送到第三个视图并告诉它使用正确的 segue 根据与关联的值到正确的第三个视图控制器 第一个视图。但我不能这样做,因为我不能设置第二个 屏幕继续第三个屏幕的所有可能布局...在 至少我认为我做不到。

可以用segues做到这一点;您只需要正确连接它们即可。您可以通过 control 从顶部的 ViewController 图标拖动到下一个 ViewController 来创建它们,而不是将 segues 连接到按钮。

创建这样的转场后,单击生成的转场箭头并在 Attributes Inspector 中为其指定一个标识符(类似于“segueToVC3a”)。

因此,对于从 VC2 到 VC3a、VC2 到 VC3b 等的每个 segue,您需要多次执行此操作。

假设在您的第一个 viewController 中您决定了 whereToGo 的值,然后您将其传递给您的第二个 viewController 并使用 segue。然后在您的第二个 viewController 中,您可以执行以下操作:

var identifier: String = ""
switch whereToGo 
    case "VC3a": identifier = "segueToVC3a"
    case "VC3b": identifier = "segueToVC3b"
    default: break


if identifier != "" 
    performSegueWithIdentifer(identifier, sender: self)

【讨论】:

我没有投票给@vacawama!我正在投票,这超级简单,我知道该怎么做!非常感谢!! 感谢@KellysOnTop23!也请通过单击旁边的复选标记将其变为绿色来接受我的回答。

将数据从视图控制器传递到另一个视图控制器

】将数据从视图控制器传递到另一个视图控制器【英文标题】:Passingdatafromviewcontrollertoanotherviewcontroller【发布时间】:2016-11-2816:47:48【问题描述】:我还没有为我的问题找到一个确切的解决方案。我需要将数据从一个视图控制... 查看详情

将数据从视图传递到选项卡控制器内的另一个视图

】将数据从视图传递到选项卡控制器内的另一个视图【英文标题】:PassingdatafromaViewtoanotherviewinsideatabcontroller【发布时间】:2011-12-2303:14:30【问题描述】:我在将数据从视图传递到与选项卡控制器有关系的另一个视图时遇到问题... 查看详情

如何将数据从表视图传递到另一个视图控制器

】如何将数据从表视图传递到另一个视图控制器【英文标题】:Howtopassthedatafromtableviewtoanotherviewcontroller【发布时间】:2020-05-2315:56:39【问题描述】:我是Swift语言的新手。我想将价格从表视图控制器传递到支付视图控制器这是我... 查看详情

将数据从第二个视图传递到第一个视图控制器

】将数据从第二个视图传递到第一个视图控制器【英文标题】:Passingdatafromthesecondviewintothefirstviewcontroller【发布时间】:2016-07-0914:54:31【问题描述】:我想知道如何将数据(例如值)从第二个视图控制器传递到第一个视图控制器... 查看详情

将 ImageData 从一个视图控制器传递到另一个视图控制器

】将ImageData从一个视图控制器传递到另一个视图控制器【英文标题】:PassingImageDatafromOneViewControllertoAnother【发布时间】:2019-10-2623:51:39【问题描述】:您好,我以前遇到过这种情况。我有想要从一个视图控制器传递到另一个视... 查看详情

将数据从一个视图控制器传递到同一视图上的另一个视图控制器

】将数据从一个视图控制器传递到同一视图上的另一个视图控制器【英文标题】:Passdatatofromoneviewcontrollertoanotherviewcontrolleronthesameview【发布时间】:2020-08-1319:42:32【问题描述】:我正在构建我的第一个应用,并且我有同时显示... 查看详情

尝试使用 segue 将数据从一个视图控制器传递到另一个视图控制器

】尝试使用segue将数据从一个视图控制器传递到另一个视图控制器【英文标题】:Attemptingtopassdatafromoneviewcontrollertoanotherusingsegues【发布时间】:2019-06-1614:05:37【问题描述】:我设置了两个视图控制器并设置了segue连接。我正在尝... 查看详情

将数据从 viewcontroller tableview 传递到另一个视图控制器

】将数据从viewcontrollertableview传递到另一个视图控制器【英文标题】:Passdatafromviewcontrollertableviewtoanotherviewcontroller【发布时间】:2017-04-1209:33:03【问题描述】:我在将数据从表视图控制器传递到另一个视图控制器时遇到问题。我... 查看详情

将 Firebase 数据从一个视图控制器传递到详细视图控制器

】将Firebase数据从一个视图控制器传递到详细视图控制器【英文标题】:PassingFirebaseDatafromoneviewcontrollertodetailviewcontroller【发布时间】:2020-09-0820:57:48【问题描述】:我希望将Firebase数据库中的数据加载到我的主视图控制器中的表... 查看详情

如何将数据从第三个视图控制器传递回第一个视图控制器?

】如何将数据从第三个视图控制器传递回第一个视图控制器?【英文标题】:HowDoIPassDatafromThirdViewControllerBacktoFirstViewController?【发布时间】:2014-12-1201:24:56【问题描述】:我目前有一个导航控制器,其中包含一个视图控制器和两... 查看详情

如何将数据从一个视图传递到 IOS 中的另一个视图控制器?

】如何将数据从一个视图传递到IOS中的另一个视图控制器?【英文标题】:HowtopassdatafromoneviewtoanotherviewcontrollerinIOS?【发布时间】:2012-08-0220:16:53【问题描述】:我正在使用Xcode4.3.1。我使用具有许多视图控制器的Storyboard创建了UI... 查看详情

如何将不同的数据从表视图传递到另一个视图控制器

】如何将不同的数据从表视图传递到另一个视图控制器【英文标题】:Howtopassthedifferentdatafromtableviewtoanotherviewcontroller【发布时间】:2020-05-1614:47:48【问题描述】:我想将数据从表视图控制器传递到集合视图。我想做如果我选择... 查看详情

将数据从任何视图控制器传递到 iOS 中的一个主视图控制器

】将数据从任何视图控制器传递到iOS中的一个主视图控制器【英文标题】:PassdatafromanyviewcontrollertoonemasterviewcontrolleriniOS【发布时间】:2014-04-2020:35:16【问题描述】:我正在构建一个音乐播放器应用程序——在这个应用程序中,... 查看详情

将标签数据从表视图传递到另一个视图控制器

】将标签数据从表视图传递到另一个视图控制器【英文标题】:Passinglabeldatafromatableviewtoanotherviewcontroller【发布时间】:2016-04-1514:17:53【问题描述】:我使用此视频作为示例来说明我在下面的代码中所做的事情。SwiftToMYSQLusingPHP... 查看详情

Swift:将数据从视图控制器传递到导航控制器

】Swift:将数据从视图控制器传递到导航控制器【英文标题】:Swift:Passdatafromaviewcontrollertoanavigationcontroller【发布时间】:2019-05-1715:39:12【问题描述】:我想将数据从一个视图控制器传递到另一个视图控制器,但我在它们之间有... 查看详情

将数据从视图传递到控制器时出错

】将数据从视图传递到控制器时出错【英文标题】:ErrorinpassingdatafromtheviewtotheController【发布时间】:2021-12-0814:52:10【问题描述】:我在视图页面上有一个按钮,它通过传递一个ID值连接到另一个控制器。控制器publicclassCartControll... 查看详情

将数据从一个视图控制器传递到另一个(图像)

】将数据从一个视图控制器传递到另一个(图像)【英文标题】:PassingDatafromoneviewcontrollertoanother(Image)【发布时间】:2018-09-0808:49:50【问题描述】:错误:线程1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)目标控制器vargetIma... 查看详情

如果条件有效,则转到下一个 ViewController 并传递数据

...:2016-07-0413:16:17【问题描述】:我正在尝试从第一个视图控制器转移到第二个视图控制器并将vardateAndTime=NSDate()的值传递给第二个视图控制器。我的第一种方法是从第一个viewcontroller本身到第 查看详情