2020-05-22

2020-05-22  本文已影响0人  陆壹吱吱

类型属性与非类型属性的区别

结构体SomeStructure增加一个常量存储属性

struct SomeStructure {
    let commonProperty: NSString = "commonProperty"
    static var storedTypeProperty = "Some value."
    static var computedTypeProperty: Int {
        return 1
    }

类型属性调用

print(SomeStructure.storedTypeProperty)

非类型属性调用

let someStructure = SomeStructure.init()
print(someStructure.commonProperty)

实例属性属于一个特定类型的实例,每创建一个实例,实例都拥有属于自己的一套属性值,实例之间的属性相互独立。
创建两个上述例子的实例:

let someStructure = SomeStructure.init()
let someStructure1 = SomeStructure.init()

实例someStructuresomeStructure1的中的类型属性 storedTypeProperty,computedTypeProperty是独立的,是只属于它们自己的,因为它们是独立的所以是不能使用实例去调用结构体的类型属性,否则会报错

print(someStructure.computedTypeProperty)
上一篇 下一篇

猜你喜欢

热点阅读