◼ rounded button : identity inspector
소스 수정을 통해 표현할 수도 있지만 이러한 방법도 있다
◼ Text Field의 keyboard Type : Decimal Pad
문자열이 아닌 숫자만을 입력받아야 오류가 발생하지 않으므로 Decimal Pad로 변경
◼ BMI Calculator
◼ String을 Int형 또는 Double형으로 변경
@IBAction func calcBmi(_ sender: UIButton) {
let height = Double(txtHeight.text!)!
let weight = Double(txtWeight.text!)!
}
◾ txtHeight에 text의 내용을 !으로 옵셔널 string형을 풀어주고 Double형으로 바꿔서도 옵셔널을 풀어줌으로써 값을 반환
◾ string으로부터 int, double형을 받을 때는 failableinitializer 로 받고 값이 optional로 나오기 때문에 바인딩을 하거나 강제한 언래핑을 해야함
◼ BMI Calculator 전체 소스
@IBAction func calcBmi(_ sender: UIButton) {
if txtHeight.text == "" || txtWeight.text == "" {
print("Input error")
lblResult.text = "키와 체중을 입력하세요!"
return
} else{
let height = Double(txtHeight.text!)!
let weight = Double(txtWeight.text!)!
print(height,weight)
let bmi = weight/(height*height*0.0001)
let shortenedBmi = String(format: "%.1f", bmi)
var body = ""
if bmi >= 40 {
body = "3단계 비만"
} else if bmi >= 30 && bmi < 40 {
body = "2단계 비만"
} else if bmi >= 25 && bmi < 30 {
body = "1단계 비만"
} else if bmi >= 18.5 && bmi < 25 {
body = "정상"
} else {
body = "저체중"
}
print("BMI:\(shortenedBmi), 판정:\(body)")
lblResult.txt = "BMI:\(shortenedBmi), 판정:\(body)"
}
}
◾ Text Field에 값을 입력하지 않고 실행해도 error가 나지 않음
'iOS' 카테고리의 다른 글
iOS BMI 계산기 앱 (2 - 기능추가) (0) | 2021.11.30 |
---|---|
iOS앱 개발 (Icon과 LaunchScreen 추가 / sender) (0) | 2021.11.16 |
UILabel의 주요 property (0) | 2021.11.09 |
맥(Mac) (0) | 2021.11.02 |
Swift 문법 (extension / 접근 제어 / protocol / enum) (0) | 2021.10.19 |