title: An extension hides a property that I want to access. Workarounds?
body: <p>I am using two pods: <a href="https://github.com/AssistoLab/DropDown" rel="nofollow noreferrer"><code>DropDown</code></a> and <a href="https://github.com/tbaranes/SwiftyUtils" rel="nofollow noreferrer"><code>SwiftyUtils</code></a>.</p>
  
  <p><code>DropDown</code> adds in a <code>UIView</code> subclass called <code>DropDown</code>. The <code>DropDown</code> class defines its own <code>width</code> property. Instead of setting the <code>frame</code>, the client code has to set the width of the drop down menu using this property. It is defined like this:</p>
  
  <pre><code>public var width: CGFloat? {
      didSet { setNeedsUpdateConstraints() }
  }
  </code></pre>
  
  <p><code>SwiftyUtils</code> on the other hand, added an extension to all <code>UIView</code>s. In the extension, there is a <code>width</code> property as well. <em>This</em> <code>width</code> property is simply returning <code>frame.width</code> so that people can write less code. It is defined like this:</p>
  
  <pre><code>public var width: CGFloat {
      get { return frame.width }
      set { frame = frame.with(width: newValue) } // frame.with() is defined in SwiftyUtils as well
  }
  </code></pre>
  
  <p>The problem comes when I try to set the <code>DropDown</code>'s menu width using the <code>width</code> property defined in <code>DropDwon</code>. The compiler thinks that I mean the <code>width</code> property defined in the extension in the <code>SwiftyUtils</code> module.</p>
  
  <p>How can I tell the compiler that what I mean is the <code>width</code> in <code>DropDown</code>, not the <code>width</code> in <code>SwiftyUtils</code>?</p>