Swift回忆录-属性
Swift回忆录-属性存储属性存储属性:存储在特定类或结构体实例里的一个常量或变量 延迟存储属性 :当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用 lazy 来标示一个延迟存储属性。 例: class Score{
var totalScore : Int?
}
class Student{
//存储属性
let name : String? = nil
var num : Int?
//延迟存储属性
lazy var score = Score()
}
计算属性计算属性:直观点来说就是给属性提供一个 getter 和一个可选的 setter,来间接获取和设置其他属性或变量的值 例: class Student{
var core : Int = 0
var totalScore : Int {
get{
return core + 100
}
/** set(newScore){ core = newScore }**/
//备注-1
set{
core = newValue
}
}
}
var stu = Student()
stu.core = 90
print(stu.totalScore) //190
stu.totalScore = 60
print(stu.core) //60
只读计算属性 只读计算属性 : 只有 getter 没有 setter 的计算属性 例: class Student{
var core : Int = 0
/** 备注-2 var totalScore : Int { get{ return core + 100 } } **/
var totalScore : Int {
return core + 100
}
}
var stu = Student()
stu.core = 90
print(stu.totalScore) //190
属性观察器属性观察器 : 作用于监控和响应属性值的变化,Swift中提供了两个观察器:
例: class Student{
var totalScore : Int = 10{
willSet(newTotalScore){
print("willSet:(newTotalScore)")
}
didSet{
print("didSet:(oldValue)")
}
}
}
var stu = Student()
stu.totalScore = 100
//"willSet:100n"
//"didSet:0n"
print(stu.totalScore) //100
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |