关于swift:是否可以使用类Label类型声明Computed属性和Observer?

is it possible to declare Computed property and Observers with class Label type?

我是斯威夫特的新手,有人能帮我理解

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

是否可以申报Computed类财产和Observers类财产?

两者都有,或者两者都没有?

谢谢您


可以使用staticclass关键字创建类型属性。

  • 可以使用classstatic关键字创建计算属性。
  • 不允许属性观察器使用class关键字。它们只能与static一起使用。
  • 例子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    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
    2
    3
    class Foo {
        class var p0: String { return"p0" }
    }

    classstatic stored property

    这是可能的,但您需要使用static关键字

    1
    2
    3
    4
    5
    6
    7
    class Foo {
        static var p0: String ="p0" {
            didSet {
                print("Did set p0")
            }
        }
    }