类型属性与非类型属性的区别
结构体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()
实例someStructure
和someStructure1
的中的类型属性 storedTypeProperty
,computedTypeProperty
是独立的,是只属于它们自己的,因为它们是独立的所以是不能
使用实例
去调用类
或结构体
的类型属性,否则会报错
print(someStructure.computedTypeProperty)
网友评论