Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift回忆录-属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Swift回忆录-属性 存储属性 存储属性:存储在特定类或结构体实例里的一个常量或变量 延迟存储属性 :当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用 lazy 来标示一个延迟存储属性。 例: class Score{ var @R_148_10586@lScore : Int? } class student{ //存储属性 let name : String? = ni

Swift回忆录-属性

存储属性

存储属性:存储在特定类或结构体实例里的一个常量或变量

延迟存储属性 :当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用 lazy 来标示一个延迟存储属性

例:

class score{

    var @R_148_10586@lscore : Int?
}

class student{
    //存储属性
    let name : String? = nil
    var num : Int?
    //延迟存储属性
    lazy var score = score()
}

计算属性

计算属性:直观点来说就是给属性提供一个 getter 和一个可选的 setter,来间接获取和设置其他属性或变量的值

例:

class student{

    var core : Int = 0

    var @R_148_10586@lscore : Int {

        get{
            return core + 100
        }

        /** set(newscore){ core = newscore }**/
        //备注-1
        set{
            core = newValue
        }
    }
}

var stu = student()
stu.core = 90
print(stu.@R_148_10586@lscore) //190
stu.@R_148_10586@lscore = 60
print(stu.corE) //60

只读计算属性

只读计算属性 : 只有 getter 没有 setter 的计算属性

例:

class student{

    var core : Int = 0

    /** 备注-2 var @R_148_10586@lscore : Int { get{ return core + 100 } } **/
    var @R_148_10586@lscore : Int {
        return core + 100
    }
}

var stu = student()
stu.core = 90
print(stu.@R_148_10586@lscore) //190

属性观察器

属性观察器 : 作用于监控和响应属性值的变化,Swift中提供了两个观察器:

  • willSet :新的值被设置之前调用
  • didSet :新的值被设置之后立即调用

例:

class student{

    var @R_148_10586@lscore : Int = 10{

        willSet(new@R_148_10586@lscore){
            print("willSet:\(new@R_148_10586@lscore)")
        }

        didSet{
            print("didSet:\(oldvalue)")
        }
    }
}

var stu = student()
stu.@R_148_10586@lscore = 100
//"willSet:100\n"
//"didSet:0\n"
print(stu.@R_148_10586@lscore) //100

大佬总结

以上是大佬教程为你收集整理的Swift回忆录-属性全部内容,希望文章能够帮你解决Swift回忆录-属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。