可以使用带有默认值的初始化方法来解决。例如:
class Person {
let name: String
let age: Int
let gender: String
init(name: String, age: Int = 18, gender: String = "unknown") {
self.name = name
self.age = age
self.gender = gender
}
}
这种方式可以通过在初始化时为属性提供默认值来避免在使用不同的存储属性时出现问题。此外,还可以使用必须初始化所有属性的初始化方法来解决此问题。
class Person {
let name: String
let age: Int
let gender: String
init(name: String, age: Int, gender: String) {
self.name = name
self.age = age
self.gender = gender
}
convenience init(name: String) {
self.init(name: name, age: 18, gender: "unknown")
}
}
这里,我们提供了必须初始化所有属性的初始化方法,并在其基础上提供了一个方便使用的初始化方法,该方法仅需要为必需的属性提供值。这确保了在实例化对象时所有属性都会被初始化。
上一篇:不同cuda对游戏帧数影响