是否可以使用类Label类型声明Computed属性和Observers?

时间:2016-09-20 18:24:34

标签: swift

我很快就有新人帮助我理解

目的是什么?我应该使用class标签类型!

是否可以使用Computed类型声明Observers属性和class Label

既可以,也可以不是?

谢谢

2 个答案:

答案 0 :(得分:3)

可以使用staticclass关键字

创建

类型属性

  1. 可以使用classstatic关键字创建计算属性
  2. 属性观察者不允许使用class关键字。它们只能与static一起使用。
  3. 示例

    class First
    {
        class var x : Int{
            return 3
        }
    
        static var y : Int{
            return 2
        }
    
    //    error: class stored properties not supported in classes
    //    class var z = 10 {
    //        willSet{
    //            print(newValue)
    //        }
    //    }
    
        static var w = 30 {
            willSet{
                print(newValue)
            }
        }
    }
    

答案 1 :(得分:0)

类计算属性

您可以声明一个类计算属性

class Foo {
    class var p0: String { return "p0" }
}

Class 静态存储属性

有些可能,但您需要使用static关键字

class Foo {
    static var p0: String = "p0" {
        didSet {
            print("Did set p0")
        }
    }
}