在初始化期间用户可以初始化和修改初始值
复制代码structNumber{var digits:Intlet pi =3.1415}var n =Number(digits:12345)
n.digits =67
println("(n.digits)")
println("(n.pi)")
当我们使用 playground 运行上面的程序,得到以下结果
67
3.1415
考虑在上面的代码,如下面的一行:
复制代码let pi = 3.1415
这里,可变圆周率被初始化为存储属性值使用所述实例 pi = 3.1415. 所以,每当实例被称为将持有单独的值是:3.1415。
另一种方法,已存储的属性可能常量结构。这样结构的整个实例将被认为是“常量属性的存储”。
复制代码structNumber{var digits:Intlet numbers =3.1415}var n =Number(digits:12345)
n.digits =67
println("(n.digits)")
println("(n.numbers)")
n.numbers =8.7
当我们使用 playground 运行上面的程序,得到以下结果
error: cannot assign to 'numbers' in 'n'
n.numbers = 8.7
重新初始化'数字'为8.7,它将返回指示“数字''被声明为常数的错误消息。
懒存储属性
Swift 提供了所谓的“懒存储属性',当变量被首次初始化它不会计算初始值. “lazy” 修饰符的变量声明之前,把它作为一个懒存储属性。
延迟属性被使用:
要延迟对象的创建。
当属性是依赖于一个类的其他部分,即:尚未知道
复制代码class sample {
lazy varno= number()// `var` declaration is required.}class number {var name ="Swift"}var firstsample = sample()
println(firstsample.no.name)
当我们使用 playground 运行上面的程序,我们得到以下结果
Swift
实例变量
在Objective C 中,存储属性还必须有实例变量用于备份目的,存放在存储的属性声明的值。








