【发布时间】:2014-12-29 00:58:11
【问题描述】:
在学习 Swift 中,初始化类实例似乎有两种方法:
// Approach A
class Person {
let first: String = "bob"
let last: String = "barker"
}
let worker = Person()
worker.first
worker.last
// Approach B
class Person2 {
let first2: String
let last2: String
init() {
self.first2 = "bill"
self.last2 = "williams"
}
}
let dealer = Person2()
dealer.first2
dealer.last2
有什么理由我会使用一种方法而不是另一种方法吗?
【问题讨论】:
-
选择一个并坚持下去。就我个人而言,我永远不会做你在 A 中所做的事情(除非我很懒惰或测试一些东西)。最好将初始化放在一个方法中,以便读者清楚地了解这些值的设置位置。
-
你为什么要尝试创建一个具有固定属性值的类?
-
@Abizern 这是一个初始化类属性的示例,而不是说明某个属性是否应该是
var或let -
如果属性的默认值是有意义的,那么在声明属性时设置它们。如果没有,则将它们设置在初始化程序中。仔细想想,这并不是一个很难的选择。
标签: class swift initialization init