Swift中对计算属性的理解和对之前的补充

这个功能的重点作用应该是在计算上。

对于一般的属性,要么直接存一个,要么直接读一个,计算属性则可以根据所设置内容,进行一些修改或计算之类的, 比如:

import UIKit

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(newValue) {}
        set {
            // 可以在set方法里动态修改其他属性和本属性
            no1 = newValue.0-(length / 2)
            no2 = newValue.1-(breadth / 2)
        }
       
        // 补充
        // set方法也可以写成
        // set(value) {
        //     no1 = value.0-(length / 2)
        //     no2 = value.1-(breadth / 2)
        // }
    }
}

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

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

你可能感兴趣的:(Swift中对计算属性的理解和对之前的补充)