Ios 在Swift中,如何快速设置实例变量?
这是最快的方法吗?我觉得我打字太多了。对于你的班级来说,你做了很多if-let语句,但没有提供任何有用的东西。即:Ios 在Swift中,如何快速设置实例变量?,ios,swift,Ios,Swift,这是最快的方法吗?我觉得我打字太多了。对于你的班级来说,你做了很多if-let语句,但没有提供任何有用的东西。即: public class User { var id: Int var fb_id: String? var first_name: String? var last_name: String? var age: Int? var distance: Int? var login_at_pretty: String?
public class User {
var id: Int
var fb_id: String?
var first_name: String?
var last_name: String?
var age: Int?
var distance: Int?
var login_at_pretty: String?
var login_at: Int?
var profile: Profile?
init(id: Int, fb_id: String?, first_name: String?, last_name: String?, age: Int?, distance: Int?, login_at_pretty: String?, login_at: Int?, profile: Profile?){
self.id = id
if let fb_id = fb_id {
self.fb_id = fb_id
}
if let first_name = first_name {
self.first_name = first_name
}
if let last_name = last_name {
self.last_name = last_name
}
if let age = age {
self.age = age
}
if let distance = distance {
self.distance = distance
}
if let login_at_pretty = login_at_pretty {
self.login_at_pretty = login_at_pretty
}
if let login_at = login_at {
self.login_at = login_at
}
if let profile = profile {
self.profile = profile
}
}
}
fb_id和self.fb_id是可选的,因此不需要绑定。只要做:
if let fb_id = fb_id {
self.fb_id = fb_id
}
但是,请注意,如果您不打算子类化,那么使用结构将自动提供成员初始值设定项:
self.fb_id = fb_id
请在类的中查看结构类型的成员初始值设定项,您正在执行许多if-let语句,这些语句没有提供任何有用的内容。即:
public class User {
var id: Int
var fb_id: String?
var first_name: String?
var last_name: String?
var age: Int?
var distance: Int?
var login_at_pretty: String?
var login_at: Int?
var profile: Profile?
init(id: Int, fb_id: String?, first_name: String?, last_name: String?, age: Int?, distance: Int?, login_at_pretty: String?, login_at: Int?, profile: Profile?){
self.id = id
if let fb_id = fb_id {
self.fb_id = fb_id
}
if let first_name = first_name {
self.first_name = first_name
}
if let last_name = last_name {
self.last_name = last_name
}
if let age = age {
self.age = age
}
if let distance = distance {
self.distance = distance
}
if let login_at_pretty = login_at_pretty {
self.login_at_pretty = login_at_pretty
}
if let login_at = login_at {
self.login_at = login_at
}
if let profile = profile {
self.profile = profile
}
}
}
fb_id和self.fb_id是可选的,因此不需要绑定。只要做:
if let fb_id = fb_id {
self.fb_id = fb_id
}
但是,请注意,如果您不打算子类化,那么使用结构将自动提供成员初始值设定项:
self.fb_id = fb_id
查看中结构类型的成员式初始值设定项如果您的实例变量是可选的,则不需要If-lets如果您的实例变量是可选的,则不需要If-lets…自动提供所有初始化-更准确的方法是说struct提供成员式初始值设定项。在实例化数据时,您仍然需要提供数据…自动提供所有初始化-更准确的方法是说struct提供了memberwise初始值设定项。在实例化数据时,仍然需要提供数据。