繼承我有三個雨燕類:斯威夫特:分享方法和計算性能的跨類不彼此
@IBDesignable class CustomTextField : UITextField {
@IBInspectable var borderColor: UIColor = UIColor.clearColor() {
didSet {
layer.borderColor = borderColor.CGColor
}
}
}
@IBDesignable class CustomView : UIView {
@IBInspectable var borderColor: UIColor = UIColor.clearColor() {
didSet {
layer.borderColor = borderColor.CGColor
}
}
}
@IBDesignable class CustomButton : UIButton {
@IBInspectable var borderColor: UIColor = UIColor.clearColor() {
didSet {
layer.borderColor = borderColor.CGColor
}
}
}
這三類具有相同的計算性能(BORDERCOLOR)。 我想幹(不要重複自己),並有這樣重複計算的屬性或從某處繼承的方法。有沒有辦法做到這一點?
我知道有一種方法與協議擴展和協議方法的默認實現做到這一點 - 但它似乎不那麼幹淨:
Calling protocol default implementation from regular method
如果創建這些3個新類是沒有必要的,看到http://stackoverflow.com/questions/ 14792238。 – kennytm
這是必要的。 – etayluz