title: Swift: Property not initialized at super.init call
body: <p>I am making a little custom keyboard and I have a set of variables inside the class that need to be initialized inside the 'override init()' as can be seen below: </p>
  
  <pre><code>class KeyboardViewController: UIInputViewController {
  
  var button01: CharacterButton
  var button02: CharacterButton
  ...
  </code></pre>
  
  <p>and </p>
  
  <pre><code>override init()   {
  
          //Initialize buttons and assign attributes
          button01 = CharacterButton.createButton("Q", labelOfButton: "Q")
          button02 = CharacterButton.createButton("W‎", labelOfButton: "W")
  
          super.init()
  }
  </code></pre>
  
  <p>In addition to that I have also added the following code, as it is apparently required since Xcode 6 beta 5:</p>
  
  <pre><code>required init(coder aDecoder: NSCoder!) {
      super.init(coder: aDecoder)
  }
  </code></pre>
  
  <p>But that last snippet of code results in an error saying:</p>
  
  <blockquote>
    <p>Property 'self.button01' not initialized at super.init call</p>
  </blockquote>
  
  <p>Why would this happen when I have already initialized 'button01' and called the 'super.init()' inside the former 'override init()' function? This is driving me nuts.</p>