swift属性

本文深入解析了属性类型的概念,包括常量、计算属性与监视属性的区别与使用方法,提供了实例代码帮助理解。重点在于避免在属性赋值中引发循环调用的错误,确保代码逻辑的正确性和稳定性。
//存储属性
定义一般的常量或者变量,不需要重写set get方法

//计算属性
set get
该属性一般不用来直接赋值,重写set,get方法,也可以只写get方法。在get set里面赋值会引起重复引用,崩溃
用法:
var fullName:String{
get{
           
return"\(index) + \(name) + \(describution)"
        }
        set{
            
        }
    }
不能在里面给fullName赋值
set{
            //self.fullName = "\(index) + \(name) + \(describution)"
        }



//监视属性
该属性的变化会引起其他属性的改变,用willSet didSet监视该属性值变化,以便改变其他属性
//属性textStr的变化会引起属性firstLabel的显示
    var textStr:String? {
        willSet{
           
print("NewValue = \(newValue)")
        }
       
didSet{
           
firstLabel.text = self.textStr
        }
    }

不能写成
set{
           
self.textStr = textStr
            firstLabel.text =
self.textStr
        }
self.会引起循环调用set方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值