title: Swift: adding / removing observers in init / deinit raise error in Interface Builder
body: <p>I've a simple swift UI component (<a href="https://github.com/mbigatti/BMXCircularButton" rel="nofollow">https://github.com/mbigatti/BMXCircularButton</a>) that is inspectable. In the <code>init</code> / <code>deinit</code> methods I have calls to start and stop the observation of the highlighted state. </p>
  
  <pre><code>init(frame: CGRect) {
      super.init(frame: frame)
      self.addObserver(self, forKeyPath: "highlighted", options: .New, context: nil)
  }
  
  init(coder aDecoder: NSCoder!) {
      super.init(coder: aDecoder)
      self.addObserver(self, forKeyPath: "highlighted", options: .New, context: nil)
  }
  
  deinit {
      self.removeObserver(self, forKeyPath: "highlighted")
  }
  </code></pre>
  
  <p>Doing this raise errors the Interface Builder with the following errors:</p>
  
  <pre><code>file:///Users/max/Progetti/StatusApp/CircularButton/CircularButton/View.xib: error: 
  Live Views: Failed to update auto layout status: Interface Builder Cocoa Touch Tool raised a "NSRangeException" 
  exception: Cannot remove an observer &lt;_TtC17BMXCircularButton14CircularButton 0x10ba98e00&gt; 
  for the key path "highlighted" from &lt;_TtC17BMXCircularButton14CircularButton 0x10ba98e00&gt; because it is not registered as an observer.
  
  file:///Users/max/Progetti/StatusApp/CircularButton/CircularButton/View.xib: error: 
  Live Views: Failed to render instance of _TtC17BMXCircularButton14CircularButton: Interface Builder Cocoa Touch Tool raised a "NSRangeException" 
  exception: Cannot remove an observer &lt;_TtC17BMXCircularButton14CircularButton 0x10bd055d0&gt; 
  for the key path "highlighted" from &lt;_TtC17BMXCircularButton14CircularButton 0x10bd055d0&gt; because it is not registered as an observer.
  </code></pre>
  
  <p>It could be a bug or I'm missing something?</p>