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)
}
}
}
此文章为个人笔记,方便自己以及有需要的朋友查看,转载请注明出处!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了