나만의 계산기 만들기
지난 포스팅에서 내가 UIKit이랑 친해진 것 같다고 했나? 취소다. 취소. 완전 취소.
저번까지 UI 구현을 진행했고 오늘은 숫자 버튼을 누르는 대로 Label에 출력되도록 하는 게 목표였다. 버튼이랑 Label을 연결해서 구현해야 할 것 같은데 UIKit... 진짜 골 때리게 낯설다. 어떻게 해야 할지 감조차 안 잡혀서 뭐라고 구글링 해야 할지도 모르겠어서 멍 때리고 있었다.
그렇게 한참을 낑낑대며 생각나는대로 구글링 하다, 코드 좀 적어보다가를 반복하다 결국 해냈다!
코드 일부분
// 생략
@IBAction func numberButtonClicked(_ sender: UIButton) {
// 숫자 버튼의 titleLabel의 text 가져오기, 만약 text가 nil이라면 함수 실행 중단
guard let numberText = sender.titleLabel?.text else { return }
// 최대 6자리까지만 입력, 초과 시 사용자에게 알림
guard let currentText = numberLabel.text, currentText.count < 6 else {
// 6자리를 초과하는 경우 알림창 표시
showAlert(message: "최대 6자리까지 입력할 수 있습니다.")
return
}
// 표시된 숫자가 0이고 새로운 숫자가 0이 아닌 경우에, 첫 번째 숫자 0 제거
if currentText == "0" && numberText != "0" {
numberLabel.text = ""
}
// numberLabel에 소수점이 이미 있다면 더는 입력되지 않도록
if numberText == ".", currentText.contains(".") {
return
}
// 표시된 숫자와 새로운 숫자를 이어서 표시
numberLabel.text = (numberLabel.text ?? "") + numberText
// 생략
}
하다 보니 뭔가 되어가고 있는 기분이라 뿌듯하기도 하고 좋긴 한데, 속도가 너무 더뎌서 좀 아쉬운 건 사실이다. 더듬더듬하게 되는 게 아직 UIKit에 대한 지식도 부족하고 실습도 부족해서라는 걸 알고 있지만 욕심이 생기는 건 어쩔 수 없는 것 같다. 이럴수록 더 열심히 해야지. 😎 다음 번에는 AC버튼이나, 더하기 빼기 같은 연산 버튼도 구현해 봐야겠다!
'𝗔𝗦𝗦𝗜𝗚𝗡𝗠𝗘𝗡𝗧 > [내배캠] 2주차 - 계산기' 카테고리의 다른 글
[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(04) (2) | 2024.03.25 |
---|---|
[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(02) (2) | 2024.03.08 |
[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(01) (0) | 2024.03.06 |