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。