【发布时间】:2014-10-15 01:06:32
【问题描述】:
似乎我无法使用可用于存储属性的 Default Initializers 方法为计算属性提供默认值。这是我需要这个的用例:
@IBDesignable public class MyRoundedCornersView: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return self.layer.cornerRadius
}
set {
self.layer.cornerRadius = newValue
}
}
}
我想给cornerRadius 一个默认值。但是以下不起作用(刚刚添加= 8.0):
@IBDesignable public class MyRoundedCornersView: UIView {
@IBInspectable var cornerRadius: CGFloat = 8.0 {
get {
return self.layer.cornerRadius
}
set {
self.layer.cornerRadius = newValue
}
}
}
我得到了不太有用的'(() -> () -> $T1) -> $T2' is not identical to 'Double' 错误。我查找了here 以了解如何执行此操作,但似乎 Apple 不支持计算属性的默认值。至少我什么都找不到。
那么我如何才能确保我的属性有默认值? This thread 表示在 init 方法中也不可能——但即使我想在我的属性定义附近保留默认值。有人有想法吗?
【问题讨论】:
标签: ios swift properties initialization