【发布时间】:2016-06-17 19:48:13
【问题描述】:
假设我有这样的 Swift struct 设置:
struct User {
// Properties
var name: String?
var username: String!
var email: String?
}
现在,在我看来,有两种设计初始化器的方式。
这是第一个:
init(username: String) {
self.username = username
}
init(username: String, name: String) {
self.username = username
self.name = name
}
init(username: String, name: String, email: String) {
self.username = username
self.name = name
self.email = email
}
这是第二个:
init(username: String) {
self.username = username
}
init(username: String, name: String) {
self.init(username: username)
self.name = name
}
init(username: String, name: String, email: String) {
self.init(username: username, name: name)
self.email = email
}
哪种做法更好,甚至会有所作为?
【问题讨论】:
标签: ios swift properties initialization swift3