在更改UISwitch时执行代码

时间:2015-03-21 12:38:47

标签: swift uiswitch

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

task.resume()

当我更改交换机时(例如从truefalse以及从falsetrue),如何执行此操作?

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

2 个答案:

答案 0 :(得分:8)

为交换机创建IBAction功能。把你想要运行的代码放在那里。

@IBAction func switchButtonChanged (sender: UISwitch) {

  //Put your code here

 }

每当更改开关时,该功能都会运行。如果您使用Storyboard,请务必将该功能链接到UISwitch

您可能还想使用mySwitch.on(返回布尔值,如果选中则返回true,如果禁用则返回false)以执行其他操作。

答案 1 :(得分:2)

您也可以使用UIControl类的addTarget()方法以编程方式执行此操作(其中UIButton和iOS上的其他控件都是子类)。 UIControl类基本上是将事件和调度添加到UIViews的类,这就是为什么当您创建自己的自定义小部件时它非常有用 - 因为您只需让消费者为您的小部件创建事件通知接收器并且让您的小部件可以轻松地将事件发送给这些消费者,而无需在这两种情况下为您提供额外的编码工作。

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