비만도를 계산해주는 어플리케이션을 만들어보자. 이 어플을 통해 UISlider, 클래스, 상속, 옵셔널 바인딩 등을 공부해볼 것이다.
UISlider
UISlider는 value
, minimum
, maximum
세 가지 값을 설정할 수 있다. value
는 현재 보이는 값이고, 최소 및 최대값 범위를 저장할 수 있다. (value
를 중간값으로 정하면 어플을 처음 실행했을 때 중간에 세팅이 되므로 보기가 좋다.)
UISlider
를 움직일 때 변경된 값 출력하기 @IBAction func heightSliderChanged(_ sender: UISlider) {
print(sender.value)
}
@IBAction func weightSliderChanged(_ sender: UISlider) {
print(sender.value)
}
: formating 해준다.
@IBAction func heightSliderChanged(_ sender: UISlider) {
print(String(format: "%.2f", sender.value))
}
@IBAction func weightSliderChanged(_ sender: UISlider) {
print(Int(sender.value)) // 형변환
}
@IBOutlet weak var heightLabel: UILabel!
@IBOutlet weak var WeightLabel: UILabel!
@IBAction func heightSliderChanged(_ sender: UISlider) {
heightLabel.text = String(format: "%.2f", sender.value)
}
@IBAction func weightSliderChanged(_ sender: UISlider) {
weightLabel.text = String(Int(sender.value))
// weightLabel.text = String(format: %.0f", sender.value) 도 동일
}
@IBAction func heightSliderChanged(_ sender: UISlider) {
let height = String(format: "%.2f", sender.value)
heightLabel.text = "\(height)m"
}
@IBAction func weightSliderChanged(_ sender: UISlider) {
let weight = String(Int(sender.value))
weightLabel.text = "\(weight)kg"
}
@IBAction func calculatePressed(_ sender: UIButton) {
let height = heightSlider.value
// heightSlider의 property 중 value 값
let weight = weightSlider.value
// weightSlider의 property 중 value 값
let bmi = weight / pow(height, 2)
// let bmi = weight / (height * height) 와 동일함
}
다음 시간에는 Multi-Screen을 생성하여 BMI 결과를 사용자에게 알려주는 것을 배울 예정이다.