Когда вы прикрепляете кнопку к viewController
и создаете действие (IBAction
) с помощью ctrl-drag, вы создаете метод, который выглядит так в Swift (если у него нет аргументов):
@IBAction func buttonAction() {}
В Objective-C то же самое будет выглядеть так:
- (IBAction)buttonAction {}
Это означает, что @IBAction func OK(sender: UIButton){}
— это метод действия.
Если вы хотите узнать об аргументе отправителя, я бы рекомендовал этот ТАК пост.
Редактировать:
Для того, что вы хотите сделать, я создаю IBOutlet
и IBAction
, таким образом я могу изменить их атрибуты с помощью выходной переменной и иметь действие с IBAction
, как показано выше:
@IBOutlet var OK: UIButton!
@IBAction func OK(sender: UIButton){}
Например, если я хочу скрыть кнопку, я бы поместил этот код в viewDidLoad
OK.hidden = true
OK в этом коде предназначен для выходной переменной, если бы я хотел напечатать «Вы нажали меня» на консоль при нажатии кнопки, я бы использовал этот код:
@IBAction func OK(sender: UIButton){
println("You pressed me")
}
Выше я использую действие для вывода на консоль «Вы нажали на меня».
Несколько замечаний:
Когда выйдет Swift 2.0, println
изменится на print
. Также с вашим действием и выходом я бы предложил дать им разные имена, чтобы их было легче различать, что-то вроде этого:
@IBOutlet var okOutlet: UIButton!
@IBAction func okAction(sender: UIButton){}
Наряду с этим, вы должны использовать верблюжий регистр при именовании переменных, констант, функций и т. д.
person
Caleb Kleveter
schedule
14.09.2015