Swift - 属性
属性的意义:将值和对象、结构体关联上
储存属性
将常量、变量存储为实例对象的一部分
struct Person {
var name: String = "" // 存储属性(变量)
let age = 10 // 存储属性(常量)
}
计算属性
本质上是方法,主要来用调用、计算存储属性
struct Person {
var info: String { // 计算属性
get {
self.name + "年龄" + String(self.age)
}
set {
if newValue == "未成年" {
self.age = 15
}else {
self.age = 20
}
}
}
}
计算属性的set
方法中,可以获取即将赋值的值newValue
属性观察器
存储属性的赋值操作可以进行监听,有点类似于OC的set方法
willSet:监听赋值之前,新值可以通过newValue获取
didSet:监听赋值之后,旧值可以通过oldValue获取
struct Person {
var age = 10 { // 存储属性
willSet {
print("还没开始赋值,即将赋值中... age:", age, "newValue:", newValue)
}
didSet {
print("已经赋值过了...age:", age, "oldValue", oldValue)
}
}
}
此文章为个人笔记,方便自己以及有需要的朋友查看,转载请注明出处!