title: Swift required init NSCoder constructor
body: <p>I have the following class representing a button in my iOS 8 custom keyboard:</p>
  
  <pre><code>internal class KeyButton: UIButton {
  
      required init(char: Character) {
          super.init()
      }
  
  
      required init(coder aDecoder: NSCoder) {
          fatalError("init(coder:) has not been implemented")
      }
  }
  </code></pre>
  
  <p>Since KeyButton is not initialised via <code>storyboard</code> the constructor <code>(coder: NSCoder)</code> would never be called.</p>
  
  <p>The problem is that I am required to implement <code>(coder: NSCoder)</code> constructor, when I run the app I receive the exception <code>plugin interrupted</code> when instantiating <code>KeyButton</code>.</p>
  
  <p>Why am I required to implement <code>(coder: NSCoder)</code> constructor although I instantiate everything programatically</p>