Swift 中方法有两种类型:实例方法和类型方法。
实例方法是属于某个类(Class)、结构体(Struct)或者枚举(Enum)类型实例的方法(注:结构体和枚举能够定义方法是Swift和Objective-C的主要区别之一)。其语法跟Swift函数的语法一致,实例方法要写在它所属的类、结构体或枚举的前后大括号内。
struct Point {
var x = 0.0, y = 0.0
func isToTheRightOfX(x: Double) -> Bool {
return self.x > x
}
}
let somePoint = Point(x: 4.0, y: 5.0)
类型方法是定义在类型本身调用的方法。概念上跟 Objective-C 的类方法是相同的,但在 Swift 中,和实例方法一样,也可以定义在类、结构体或枚举中。Objective-C 中我们称之为类方法,但在 Swift 中叫类型方法比较合适,毕竟结构体或枚举也有类型方法。类型方法的语法上是在方法的关键字 func 前面加上关键字 static。