9.8 Swift类型属性
/** (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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |