我使用兩個吊艙:DropDown
和SwiftyUtils
。擴展隱藏了我想要訪問的屬性。解決方法?
DropDown
在稱爲DropDown
的UIView
子類中增加。 DropDown
類定義了它自己的width
屬性。客戶端代碼不必設置frame
,而必須使用此屬性設置下拉菜單的寬度。它的定義如下:
public var width: CGFloat? {
didSet { setNeedsUpdateConstraints() }
}
SwiftyUtils
在另一方面,加入的擴展,所有UIView
秒。在擴展中,還有一個width
屬性。 Thiswidth
property is simply returned frame.width
,這樣人們可以編寫更少的代碼。它的定義是這樣的:
public var width: CGFloat {
get { return frame.width }
set { frame = frame.with(width: newValue) } // frame.with() is defined in SwiftyUtils as well
}
問題是當我嘗試使用DropDwon
定義的width
屬性設置DropDown
的菜單寬度。編譯器認爲我的意思是SwiftyUtils
模塊擴展中定義的width
屬性。
我該如何告訴編譯器,我的意思是width
在DropDown
,而不是width
在SwiftyUtils
?