详解Swift编程中的方法与属性的概念

2020-01-08 22:33:09丽君

在初始化期间用户可以初始化和修改初始值

复制代码
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 中,存储属性还必须有实例变量用于备份目的,存放在存储的属性声明的值。