2015-03-21 2 views
0

Как я могу выполнить часть кода (HTML-запрос)?Выполнить код при изменении UISwitch

task.resume() 

Как можно выполнить, что, когда я меняю переключатель (например, от true к false и от false до true)?

Я не хочу использовать цикл, потому что мне нужен только 1 запрос об изменении.

ответ

6

Сделать переключатель IBAction. Поместите код, который вы хотите запустить там.

@IBAction func switchButtonChanged (sender: UISwitch) { 

    //Put your code here 

} 

Всякий раз, когда переключатель изменен, функция будет работать. Если вы используете раскадровки, обязательно привяжите функцию к UISwitch.

Вы также можете использовать mySwitch.on (возвращает логическое значение, true, если включено, false, если выключено), чтобы делать другие вещи.

1

Вы также можете сделать это программно с помощью метода addTarget() класса UIControl (из которого UIButton и другие элементы управления на iOS являются подклассами). Класс UIControl - это класс, который добавляет события и отправляет UIViews, поэтому он так полезен, когда вы создаете свои собственные виджеты - потому что вы просто получаете возможность позволять пользователям создавать приемники уведомлений о событиях для вашего виджета и позволяет ваш виджет легко отправляет события тем потребителям, не требуя многого дополнительного кодирования с вашей стороны в любом случае.

Механизм @IBAction является удобством при использовании Interface Builder, но он делает то же самое прозрачно. Преимуществом является то, что он делает ваш код более самостоятельным документированием. Если вы видите IBAction перед методом, вы сразу же знаете, что это событие (например, «действие»). Однако по мере того, как вы набираете время, вы обнаружите, что используете addTarget() так сильно, что хлопот делать это с помощью Interface Builder не стоит того, и вы просто запомните это, подобно тому, как кто-то запоминает, как программно создавать события в javascript.

Смежные вопросы