title: @IBDesignable - @IBInspectable, class not key value coding-compliant
body: <p>I'm suddenly having a strange and reproducible error when using an @IBDesignable class, @IBInspectable properties are giving the following warning: </p>
  
  <blockquote>
    <p>Main.storyboard: warning: IB Designables: Ignoring user defined runtime attribute for key path "test" on instance of "UIButton". Hit an exception when attempting to set its value: [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key test.</p>
  </blockquote>
  
  <p>To be clear this warning is only a problem in Xcode, it packages fine. Still annoying!</p>
  
  <p><strong>Steps to reproduce</strong></p>
  
  <ol>
  <li>Create new project</li>
  <li><p>Create a custom @IBDesignable UIButton subclass, with an @IBInspectable String property:</p>
  
  <pre><code>import UIKit
  
  @IBDesignable
  class TempButton: UIButton {
      @IBInspectable var test:String = ""
  }
  </code></pre>
  
  <ol start="3">
  <li>Drag a Button to a View Controller in the storyboard, and give it the custom class "TempButton" in the Identity Inspector.</li>
  <li>Now the 'Test' attribute should appear in the Attributes Inspector for 'Temp Button' properties - type anything into this field.</li>
  <li>Bam! The above warning appears. Remove the text from the field, and the warning disappears.</li>
  </ol></li>
  </ol>
  
  <p>I've tried several solutions - different variable names, making the 'test' property an Optional, using an initializer, no luck so far.</p>
  
  <p>Here is a screen capture of the problem:</p>
  
  <p><a href="https://i.stack.imgur.com/oIYar.gif" rel="noreferrer"><img src="https://i.stack.imgur.com/oIYar.gif" alt="enter image description here"></a></p>