這邊把之前遇到的幾個問題做一個問題整理
Computed Property
Class CountPrice{
var one_price:Int = 100
var total_price:Int{
get{return 0.7 * one_price}
set(newPriceValue){
one_price = total_price * (10/7)
}
// 讀取時 使用get return 回傳值
// 設定時 使用set內
Init
required init
定義 Swift 類別時,子類別預設並不會繼承父類別的 initializer,除非滿足某些特殊的條件。
故要使用required init
去要求後面的所有子類繼承init
在使用init之前要確定所有的stored property都已經完成初始
要符合以下兩個原則
super.init
使用super.init
可以去繼承父類
Self and self
當使用小寫self代表是自身的value值
使用大寫的Self代表是自身的type類型
Where
Swift中where用來設定約束條件、類型
現在都用在if let、guard 都用 ","來代替where
if let driver = ..... , let car = ...
// 使用,來替代where作為約束
參考連接: