(快速)如何使用UISwitch更改var

时间:2018-11-23 22:48:01

标签: ios swift var uiswitch

我有一个正在构建的VPN应用程序,也有我自己的DNS服务器。

要指定我要使用的DNS,请在VPNUK1.swift下的文件let dns = "1.1.1.1,8.8.8.8"中进行操作

我制作了一个使用SettingsView.swift

的设置页面

我制作了一个ViewController并添加了一个UISwitch,然后使用@IBOutlet将其链接到SettingsView.swift

但是,我不知道如何获取UISwitch来将let dns = "1.1.1.1,8.8.8.8"的{​​{1}}中的VPNUK1.swift更改为

我希望在切换开关时将其更改为SettingsView.swift

2 个答案:

答案 0 :(得分:0)

IBOutlet是一个名词。它指向您的视图控制器中的视图/控件。

IBAction是动词。它使您可以指定当用户与控件进行交互时应运行的代码。

您需要控制从情节提要中拖动到包含该开关的视图控制器的源中,并为该开关创建IBAction,以便在值更改事件上调用该

在您的IBAction中,检查发送者的isOn属性的状态。

然后,您需要一种将更改传达给其他视图控制器的方法。为了帮助您解决此问题,您将不得不解释视图控制器之间的相互关系以及用户之间的关系。它们是否同时在屏幕上显示?一个视图控制器是否以模态形式显示另一个视图控制器?

答案 1 :(得分:0)

在设置视图控制器中,使用if / else ui开关设置UserDefaults.standard.set("1.1.1.1", forKey: "DNS")

在vpn视图控制器中:"dns": UserDefaults.standard.string(forKey: "DNS")!