Xcode 10,Swift 4-如何在多个视图控制器之间传输数据? [英] Xcode 10, Swift 4 - How do I transfer data across multiple view controllers?

查看:41
本文介绍了Xcode 10,Swift 4-如何在多个视图控制器之间传输数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在开发一个应用程序,并且在发布事件方面遇到问题.

I am currently working on an app and have problems with posting events.

我以多个视图(7个屏幕)的顺序收集数据,并希望最终一次存储数据(或在最终视图中显示所有数据).这些数据是例如位置信息,用户信息,事件图像,评论,事件类别,...如果我在一两个视图中收集数据,我知道如何将数据存储在数据库/存储(firebase)中.但是在我的用例中,我有七个视图,找不到任何优雅的方法.

I collect data in a sequence of several views (7 screens) and would like to store the data finally at once (or show all the data in the final view). These data are, for example, location info, user info, event image, comments, event category, ... I know how to store the data in the database/storage (firebase) if I collect the data in one or two views. But in my use case I have seven views and I could not find any elegant method.

使用Xcode 10做到这一点的最佳方法是什么?

What's the best way to do that with Xcode 10?

推荐答案

您可以按以下代码使用struct.在此结构中为所有屏幕设置所有必需的变量(例如字符串,图像等).而且您可以从任何ViewController进行访问.

struct InputDetails {
    static var details: InputDetails = InputDetails()

    var city: String = ""
    var lat: String = ""
    var long: String = ""
}

现在要在其中添加价值

InputDetails.details.city = textfiels.text

现在可以在最后一个屏幕中访问第一个屏幕值

print(InputDetails.details.city)

当您的API调用或以上结构使用结束后,请确保重设以下所有详细信息.

InputDetails.details = InputDetails()

这篇关于Xcode 10,Swift 4-如何在多个视图控制器之间传输数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆