lazy顾名思义,表示不到最后不会调用。
class sample {
lazy var NO = number()
}
class number
{
var name = "Swift"
init() {
print("init")
}
}
var firstsample = sample()
//sample().NO.name = "Swift2.0"
这个时候虽然对sample做了初始化,但是由于变量NO是Lazy属性,所以NO不会初始化。打开最后一句代码,再编译的时候,number类的初始化方法才被调用。