计算属性(Computed Properties)
属性
属性一般用于类(class),结构体(struct),枚举(emun)作为存储数据,swift 的属性也像OC一样,拥有 getters 和 setters方法。
而所谓的计算属性,和一般的属性的区别,仅仅是它不存储数据,而是使用已有的属性(有存储作用的属性),进行运算,而后通过getter 和 setter 反馈结果。
下面是一个例子,例子中自定义一个时间类,类中,seconds 是唯一的存储属性,而miniutes,hours,days则是计算属性,通过和seconds做运算,反馈结果。
class Time { var seconds:Double = 0 init(seconds: Double){ self.seconds = seconds } var minutes:Double{ get{ return (seconds / 60) } set{ self.seconds = (newValue * 60) } } var hours:Double{ get{ return (seconds / (60 * 60)) } set{ self.seconds = (newValue * (60 * 60)) } } var days:Double{ get{ return (seconds / (60 * 60 * 24)) } set{ self.seconds = (newValue * (60 * 60 * 24)) } } } 例子来源:http://www.codingexplorer.com/computed-properties-in-swift/
时间: 2024-11-05 14:54:30