본문 바로가기

𝗔𝗦𝗦𝗜𝗚𝗡𝗠𝗘𝗡𝗧/[내배캠] 2주차 - 계산기

[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(03)

 

 

나만의 계산기 만들기

 

 

 

 

지난 포스팅에서 내가 UIKit이랑 친해진 것 같다고 했나? 취소다. 취소. 완전 취소. 

저번까지 UI 구현을 진행했고 오늘은 숫자 버튼을 누르는 대로 Label에 출력되도록 하는 게 목표였다. 버튼이랑 Label을 연결해서 구현해야 할 것 같은데 UIKit... 진짜 골 때리게 낯설다. 어떻게 해야 할지 감조차 안 잡혀서 뭐라고 구글링 해야 할지도 모르겠어서 멍 때리고 있었다.

 

 

 

그렇게 한참을 낑낑대며 생각나는대로 구글링 하다, 코드 좀 적어보다가를 반복하다 결국 해냈다!

 

 

왼쪽부터 - 첫실행, 소숫점 입력, 최대 6자리 초과 알림

 

 

 코드 일부분 

// 생략
        
@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버튼이나, 더하기 빼기 같은 연산 버튼도 구현해 봐야겠다!

 
 
 
 
 

 

Swift 문법 기초 과제 - 계산기(01)

 

[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(01)

나만의 계산기 만들기 어제 팀이 바뀌고 첫날, 과제와 강의를 새로 받았다. 과제는 '나만의 계산기 만들기' 처음에는 당연히 UI까지 구현하는 건 줄 알고 UIKit을 사용해 UI를 구현했다. 아직 어떤

wood-fxrest.tistory.com

 

 

Swift 문법 기초 과제 - 계산기(02)

 

[내일배움캠프] Swift 문법 2주차 기초 과제 - 계산기(02)

나만의 계산기 만들기 이전 글에서 계산기 UI를 구현해 보겠다고 했었는데 그동안 과제하느라 오늘에서야 다시 시도해 봤다. 일단 중복되는 코드들을 정리하고 싶어서 오늘은 버튼을 컬렉션으

wood-fxrest.tistory.com

 

Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31