在 UISwitch 发生变化时执行代码

Execute code on change of a UISwitch

如何执行一段代码(HTML请求)?

task.resume()

当我更改开关时如何执行它(例如从 truefalse 以及从 falsetrue)?

我不想使用循环,因为我只需要 1 个更改请求。

为开关创建一个IBAction函数。把你想要的代码 运行 放在那里。

@IBAction func switchButtonChanged (sender: UISwitch) {

  //Put your code here

 }

只要切换开关,函数就会运行。如果您使用故事板,请确保 link 函数到 UISwitch

您可能还想使用 mySwitch.on(returns 布尔值,如果打开则为真,如果关闭则为假)来做其他事情。

您也可以使用 UIControl class 的 addTarget() 方法以编程方式完成此操作(其中 iOS 上的 UIButton 和其他控件是子 classes ). UIControl class 基本上是 class 添加事件并分派到 UIViews,这就是为什么它在您创建自己的自定义小部件时如此有用的原因 - 因为您只需获得让消费者创建的能力您的小部件的事件通知接收器,并让您的小部件轻松地将事件发送给这些消费者,而无需您在任何情况下进行大量额外的编码工作。

@IBAction 机制在使用 Interface Builder 时很方便,但它透明地做同样的事情。优点是它使您的代码更加自我记录。如果您在方法前面看到 IBAction,您会立即知道它是一个事件(例如 "action")处理程序。然而,随着时间的推移,你会发现你使用 addTarget() 的次数太多了,以至于用 Interface Builder 做它的麻烦是不值得的,你会记住它,就像有人记住如何以编程方式创建事件一样在 javascript.