如果在初始化程序中需要访问实例成员,请使用self关键字。可以使用self关键字来代替实例成员引用。
例如:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
print(self.name) // 使用self关键字访问实例成员
}
}
或者,在初始化器中可以使用闭包,将实例成员捕捉到闭包中。使用闭包可以在整个对象的生命周期内使用实例成员。
例如:
class Person {
var name: String
var age: Int
lazy var myFunction: () -> String = {
return "\(self.name): \(self.age)" // 使用闭包访问实例成员
}()
init(name: String, age: Int) {
self.name = name
self.age = age
}
}