Alex Liang

Swift Class 介紹

Class 宣告

Swift宣告class相當簡單,只要使用class這個關鍵字和class名稱

1
2
3
class TaxCalculator {

}

跟objective-c的宣告方式比較,不需要繼承NSObject或?生的類別。

Property

class的property則需要賦與初始值或使用init做初始化

1
2
3
4
5
6
7
8
9
10
11
class TaxCalculator {
let salary: Int
let taxRate: Double
var tax: Int

init(salary: Int, taxRate: Double) {
self.salary = salary
self.taxRate = taxRate
tax = Int(salary * taxRate)
}
}

由於init的參數和property名稱一樣,所以使用self來區別
另一個要注意的是,class可以有多個init函式,但使用的參數必須不同 (和c的overloading function一樣)

Methods

1
2
3
4
5
6
class TaxCalculator {
// 略
func calcSalary(tax: Int, taxRate: Double) -> Int {
return Int(tax / taxRate)
}
}

method的宣告需要加上回傳值的資料型態,若無回傳值可省略。

使用

1
2
let taxCalc = TaxCalculator(salary: 55000, taxRate: 0.15)
taxCalc.calcSalary(tax: 2000, taxRate: 0.15)

參考來源:
Swift 2 Tutorial