Image Description

Swift中的类、结构和枚举可以有一个自己的属性,这个属性绑定一个值。

比如一个Person类,它可以有一个属性 age,age的值是20。属性又可以分为存储属性和计算属性。

var和let

存储属性分为 var(变量存储属性)和 let(常量存储属性)。

import Cocoa

struct Person {
   var age: Int
   let name = "Mike"
}

var n = Person(age: 18)
n.age = 20

print("\(n.digits)")
print("\(n.pi)")

输出结果:

20

"Mike"

计算属性不直接存储值,而是读取器 getter来获取值,可选的获取器 setter来设置值。

import Cocoa

class sample {
    var no1 = 0.0, no2 = 0.0
    var length = 300.0, breadth = 150.0
    
    var middle: (Double, Double) {
        get{
            return (length / 2, breadth / 2)
        }
        set(axis){
            no1 = axis.0 - (length / 2)
            no2 = axis.1 - (breadth / 2)
        }
    }
}

var result = sample()
print(result.middle)
result.middle = (0.0, 10.0)

print(result.no1)
print(result.no2)

输出结果:

(150.0, 75.0)
-150.0
-65.0

Person 类中的 age 就是变量存储属性,let 就是常量存储属性。