【Swift】01-didSet、willSet、set、get的区别

前言

Swift 的属性分为:

  • 计算型属性
  • 存储型属性

存储型属性就是一般意义上理解的可以进行赋值和取值的变量。
var title = “学科”
计算型属性,字面意思为计算型的属性,这种属性没法存储值

一、 计算型属性

特征:仅有get(readOnly语义)或有get+set的属性是计算型属性,有get+set的属性仅作为其他属性的外部接口

注意

  • 计算型属性本身不占用内存空间,所以不能赋值
  • 计算型属性本身不占用内存空间,所以不可赋值
get + set 为计算型属性的原因:

真正赋值的过程是存在于 set 方法中并被底层包装掉的,如果我们手动实现了 set 方法,就无法进行正确赋值:

计算型属性手动实现了get和set方法后会报警告

xcode不建议大家直接在get方法中return返回当前属性,因为他会把当前属性画横线。

  1. 计算属性有set时的get方法
    计算属性有set时的get方法
  2. 计算属性有无set时的get方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值