在Object-C中我们已经清楚的知道有实例方法、属性和类方法、属性,类方法只能有类去调用,而实例方法只能有类申请的实例去调用。而在Swift中同样遵守这个约定。
在Swift中有static、class两个修饰符,这两个修饰符的作用是一样的,但它们的使用场景是不一样的。
- static:在枚举、结构体中修饰属性、方法,定义类型属性、类型方法。
-
class:在类中修饰属性、方法,定义类型属性、类型方法。
类型属性enum Week { static var desc:String! static var info:String { get { return "现在是\(desc)" } set{ print("尝试更改值为:\(newValue)") } }
调用:
Week.desc="周一" print(Week.info) Week.info="礼拜一"
类型方法
static func setDesc(desc:String)
{
self.desc=desc
}
调用:
***
Week.setDesc("礼拜一,该上班敲代码了")
print(Week.desc)
这里举例了static在枚举中的应用,class在类中的应用,思路跟上面基本一致,希望大家能够触类旁通,这样才能提高自己,有什么问题可以给我留言,有问必答。