/**
类型方法
通过类名称来调用的方法,就像类型属性一样。
类方法对应的关键字是static(结构体和枚举) class(类)
类方法里面不存在self
*/
struct TypeMethods {
var p: Int = 0
static var sp: Int = 0
func method() -> Void {
print("p=\(p),sp=\(TypeMethods.sp)")
}
static func staticmethod () {
// 也就是不能这样子调用 self.p
// print("p=\(p)")
// 但是可以这样
print("sp==\(TypeMethods.sp)")
}
}
var tm = TypeMethods()
tm.method()
class TypeMethods1 {
var p: Int = 0
class var sp: Int {
return 10
}
func method() -> Void {
print("p=\(p),sp=\(TypeMethods.sp)")
}
class func staticmethod () {
但是可以这样
print("sp==\(TypeMethods.sp)")
}
}
var tm1 = TypeMethods1()
tm1.method()