【问题标题】:(Swift) How to use UISwitch to change var(Swift) 如何使用 UISwitch 改变 var
【发布时间】:2018-11-23 22:48:01
【问题描述】:

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

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

我做了一个使用SettingsView.swift的设置页面

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

但是我不知道如何让 UISwitch 将 VPNUK1.swift 中的 let dns = "1.1.1.1,8.8.8.8"SettingsView.swift 更改为 SettingsView.swift

我想在切换开关时将其更改为let dns = "185.136.234.36"

【问题讨论】:

标签: ios swift var uiswitch


【解决方案1】:

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

IBAction 是动词。它允许您指定在用户与控件交互时应运行的代码。

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

在您的IBAction 中检查发件人的 isOn 属性的状态。

然后您需要一种方法将更改传达给您的其他视图控制器。为了帮助解决这个问题,您将不得不解释视图控制器如何相互关联以及用户如何从一个到另一个。他们是同时出现在屏幕上的吗?一个视图控制器是否以模态方式呈现另一个?

【讨论】:

  • 视图控制器使用'PageViewController'
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2018-09-05
    相关资源
    最近更新 更多