如何在多个视图控制器swift 3之间发送数据

时间:2017-06-02 08:53:41

标签: ios swift swift3

我有6个视图控制器,你在屏幕2上输入了你的名字,我想让它继续进行,所以我可以将他们输入的用户名称作为电子邮件正文的一部分。假设您输入您的名字为“Kevin”,然后在屏幕5上点击发送,电子邮件显示出现,主题有“姓名:'Kevin'”,依此类推。没有关于如何执行此操作的教程,仅适用于并排的视图控制器,并且这个必须将数据从2传递到5.

3 个答案:

答案 0 :(得分:1)

您可以使用UserDefault

在屏幕2中

设定值

 UserDefaults.standard.setValue("your user name", forKey: "UserName")
 UserDefaults.standard.synchronize()

在屏幕5中

 let strUserName =  UserDefaults.standard.value(forKey:"UserName") // this your input

您需要在不需要的情况下从UserDefault中删除值

UserDefaults.standard.setValue(nil, forKey: "UserName")

 UserDefaults.removeObject(forKey: "UserName")

 UserDefaults.standard.synchronize()

答案 1 :(得分:1)

如何创建单例类并将日期存储在其中?这是一个例子:

Singleton with properties in Swift 3

答案 2 :(得分:0)

分享String的简单方法是使用UserDefaults。你可以保存一些东西并将它放到另一个屏幕上。

UserDefaults.standard.setValue(value, forKey: key)
UserDefaults.standard.value(forKey: key)