/**
(8)类型属性:也就是这个属性它属于某一个类的而不是属于某一个对象的。
这个属性在所有属于这个类的对象里面共用一份。
1.也就是“类”本身定义属性,这样的属性不隶属于某一个对象,可以认为所有的对象公用这个属性,
2.值类型(指结构体和枚举)可以定义存储型的或者计算型的类型属性,
而类只能定义计算型的类型属性,存储型的属性不可以做类型属性。 这个在Swift 3.0好像是可以了
对象.属性
类名称.属性
*/
struct TypeProperty {
// 属于某一个对象的属性,对于每一个对象都有一份
var property: Int = 0
/**
类型属性, 也就是这个属性它属于某一个类的而不是属于某一个对象的。
这个属性在所有属于这个类的对象里面共用一份。
*/
static var staticProperty: Int = 0
/**
*/
static var staticComputProperty: Int {
return TypeProperty.staticProperty
}
func test() -> VoID {
print("property==\(property) staticProperty==\(TypeProperty.staticProperty)")
}
}
var object = TypeProperty.init()
var object1 = TypeProperty.init()
object.property = 10
object1.property = 20
TypeProperty.staticProperty = 10
object.test()
object1.test()
class MyClass {
static var name: String = "zhangsan"
var age: Int = 10
static var staticComputProperty: Int {
get {
return 10
}
set {
}
}
}
var c1 = MyClass.init()
var c2 = MyClass.init()
c1.age = 11
c2.age = 13
MyClass.name = "lisi"
print(MyClass.name)
let dad: Int = MyClass.staticComputProperty
print(dad)
MyClass.staticComputProperty = 11
总结以上是内存溢出为你收集整理的9.8 Swift类型属性全部内容,希望文章能够帮你解决9.8 Swift类型属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)