【iOS app 學習筆記】BMI Calculator

簡單結合程式做出來的小小app

前端頁面的部分就是拉拉元件放上去,就不多做贅述,這次只有一個新東西,是之前沒設定過的,”Keyboard Type”
在Text Field中的Text Input Traits可以設定Keyboard Type,並且有許多選項可以選擇,而選擇Number Pad就能方便使用者輸入數字。

接下來就來講到程式的部分,只有簡單的幾行

@IBOutlet weak var heightTextField: UITextField!@IBOutlet weak var weightTextField: UITextField!@IBOutlet weak var notificationLabel: UILabel!@IBOutlet weak var bmiLabel: UILabel!

首先先將UI元件拉線到程式碼中,並將其命名

@IBAction func compute(_ sender: Any) {    if let heightText = heightTextField.text,    let weightText = weightTextField.text,    let height = Double(heightText),    let weight = Double(weightText){        view.endEditing(true)    let bmi = weight/pow((height/100), 2)        bmiLabel.text = "BMI = " + String(format: "%.2f", bmi)    if bmi < 18.5{        notificationLabel.text = "你太輕了!"    }else if bmi < 24{        notificationLabel.text = "正常喔!"    }else if bmi < 27{        notificationLabel.text = "稍微有點重了"    }else if bmi < 30{        notificationLabel.text = "稍微有點肥胖..."    }else if bmi < 35{        notificationLabel.text = "中度肥胖餒"    }else{        notificationLabel.text = "從今天開始減肥吧"    }    }else{        notificationLabel.text = "請完整輸入資訊!"    }}

然後將所有的if判斷式寫進compute這個function裡,當使用者按下compute按鈕時,就會觸發這個function。
會觸發的原因不是因為名稱一樣,而是因為有拉線(@IBAction func)

在程式碼中,有用到比較特別的語法是if let,這在我之前學過的程式語言中沒看過,if let是為了避免空值的語法(我的理解是這樣😭)
詳細介紹可以參考Peter的文章

--

--