Outlet (ссылка на элемент интерфейса) и action (метод вызываемый из интерфейса элементом) – позволяют связывать исходный код с объектами интерфейса в Interface Builder. В swift чтобы их использовать надо предварить определение метода или свойства атрибутом @IBOutlet или @IBAction соответственно. Для outlet colletcion – также используется @IBOutlet, просто в качестве типа – массив.
Т.к. связывание элементов интерфейса с кодом происходит в режиме реального времени – необходимо в качестве типа использовать опционалы.
1 2 3 4 5 6 7 |
class MyViewController: UIViewController { @IBOutlet weak var button: UIButton! @IBOutlet var textFields: [UITextField]! @IBAction func buttonTapped(AnyObject) { println("нажали кнопку!") } } |
Если создается своя вьюха, и хочется сделать ее отображаемой – перед определением класса – наследника UIView нужно использовать атрибут @IBDesignable. Если хочется менять занчение свойств вьюхи в дизайнере – эти свойства помечаются как @IBInspectable
1 2 3 4 5 6 |
@IBDesignable class MyCustomView: UIView { @IBInspectable var textColor: UIColor @IBInspectable var iconHeight: CGFloat //... } |