5
快速使用默认属性值而不是在初始化程序中设置它有什么缺点吗?Swift:初始化程序中的默认属性vs设置
例如,
class Foo: UIViewController {
let value = UIRefreshControl()
}
与
class Bar: UIViewController {
var value : UIRefreshControl!
// or using init()
override func viewDidLoad() {
self.value = UIRefreshControl()
}
}
默认属性值看起来更简洁和优雅,但我不认为他们会在代码示例在那里,它们可以用来使用。
啊,但在理论上,如果它是一个常数与'let'那么这不会是一个正确的问题?尽管'let'具有默认值会使类的扩展性更差...... – 2015-02-08 05:29:47
实际上,您可以在初始化程序中重新分配'let'声明的属性。奇怪而真实! – 2015-02-08 05:41:13
此外,只是想补充一点,我认为默认属性值很好,我尽可能使用它们。答案是唯一的缺点 - 有几个积极的原因使得它们几乎在所有情况下都值得。 – 2015-02-08 05:42:38