【发布时间】:2016-08-23 05:34:01
【问题描述】:
我有三个 Swift 类:
@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)。 我想成为 DRY(不要重复自己)并从某处继承此类重复的计算属性或方法。有没有办法做到这一点?
我知道有一种方法可以通过协议扩展和协议方法的默认实现来做到这一点 - 但它看起来并不那么干净:
【问题讨论】:
-
如果不需要创建这 3 个新类,请参阅 stackoverflow.com/questions/14792238。
标签: swift