swift计算属性和存储属性

//计算属性

class MyClass0{

    //存储属性  不能用class修饰存储属性,编译报错

    static var bar = "";

    var temp = "";


    //计算属性

    var hehe:String {

        get{

            return temp+"lalala";

        }

        set{

            temp = newValue;

        }

    }

}

let obj = MyClass0();

obj.hehe = "woshihaoren";

print(obj.hehe);

//计算属性(类的计算属性)

class MyClass1{

    static var bar = "";

    var temp = "";


    //class可以修饰计算属性

    class var hehe:String {

        get{

            return bar+"lalala";

        }

        set{

            bar = newValue;

        }

    }

}

MyClass1.hehe = "nishihaoren";

print(MyClass1.hehe);


//存储属性

class MyClass2{

    var temp = "你是谁" {

        willSet{

            //这里可以取到新值

            print("将要给属性赋值啦! \(newValue)")

        }

        didSet{

            //这里可以取到旧值

            print("已经给属性赋值啦! \(temp) === \(oldValue)")

        }


    }

}

let obj2 = MyClass2();

obj2.temp = "heheda";

print(obj2.temp);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容