import Cocoa structNumber { var digits: Int let pi =3.1415 } var n =Number(digits: 12345) n.digits =67 print("\(n.digits)") print("\(n.pi)")
存储属性可以是变量存储属性(用关键字var定义),也可以是常量存储属性(用关键字let定义)。
可以在定义存储属性的时候指定默认值
也可以在构造过程中设置或修改存储属性的值,甚至修改常量存储属性的值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
import Cocoa structNumber { var digits: Int let pi =3.1415 } var n =Number(digits: 12345) n.digits =67 print("\(n.digits)") print("\(n.pi)") //67 //3.1415
//构造方法给常量赋值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
import Cocoa structNumber { var digits: Int let numbers: Double init(digits: Int, numbers : Double) { self.digits = digits; self.numbers = numbers; } } var n =Number(digits: 12345, numbers: 3.14) n.digits =67 print("\(n.digits)") print("\(n.numbers)") //67 //3.14
延迟存储属性
延迟存储属性是指当第一次被调用的时候才会计算其初始值的属性。
延迟存储属性一般用于:
延迟对象的创建。
当属性的值依赖于其他未知类
1 2 3 4 5 6 7 8 9 10 11 12 13
import Cocoa classsample { lazyvar no = number() // `var` 关键字是必须的 } classnumber { var name ="Runoob Swift 教程" } var firstsample = sample() print(firstsample.no.name) //Runoob Swift 教程