InterfaceBuilder を使用せずにコード内で UIButton のアクションをバインドする

ある UIButton に対して TouchUpInside のイベントにアクションをバインドしたいとき、インターフェースビルダーを使わずに、コードで実現すると下のようになる。

@IBOutlet weak var button: UIButton!

class ViewController: UIViewController {

  override func viewDidLoad() {
    button.addTarget(self,
                     action: #selector(buttonAction(sender:)),
                     for: .touchUpInside)
  }

  @objc func buttonAction(sender: UIButton) {
    // アクションを書く!
  }
}

Mac の性能がよくなく、インターフェースビルダーの動きが緩慢な場合は、インターフェースビルダーの使用は最低限アウトレットだけのバインドだけに留めて、アクションなどはコードで設定すると、作業がはかどる。