Closed hamsik22 closed 2 weeks ago
버튼을 눌렀을 때, Label에 표시가 될 수 있게 하는 코드를 추가 연산 버튼을 눌렀을 때도 기호들이 Label에 추가되며 연산 기능은 구현되지 않았습니다.
Label
@objc private func buttonPressed(_ sender: UIButton) { let button = sender.titleLabel?.text ?? "Unknown Button" handleButtonPressed(button) enteringValue() }
switch
title
private func handleButtonPressed(_ button: String) { switch button { case "0"..."9" : numberButtonPressed(button) case "+" : plusButtonPressed() case "-" : minusButtonPressed() case "*" : multiplyButtonPressed() case "/" : divideButtonPressed() case "=" : equalButtonPressed() case "AC" : allclearButtonPressed() default: print("Unknown Button Pressed!") } }
0
private func enteringValue() { guard mainLabel.text != "0" else { return } if mainLabel.text?.first == "0" { mainLabel.text?.remove(at: self.mainLabel.text!.startIndex) } }
버튼이 정상동작 하는지 확인하기 위한 간단한 코드로 함수들을 작성해보았습니다.
/// 숫자버튼 터치 private func numberButtonPressed(_ num: String) { print("NumberButtonPressed:\(num)") mainLabel.text?.append(num) } /// 더하기버튼 터치 private func plusButtonPressed() { print("PlusButtonPressed") mainLabel.text?.append("+") } /// 빼기버튼 터치 private func minusButtonPressed() { print("MinusButtonPressed") mainLabel.text?.append("-") } /// 곱하기버튼 터치 private func multiplyButtonPressed() { print("MultiplyButtonPressed") mainLabel.text?.append("*") } /// 나누기버튼 터치 private func divideButtonPressed() { print("DivideButtonPressed") mainLabel.text?.append("/") } /// 등호버튼 터치 private func equalButtonPressed() { print("EqualButtonPressed") mainLabel.text?.append("=") } /// AC버튼 터치 private func allclearButtonPressed() { print("AllclearButtonPressed") mainLabel.text = "0" }
close #9 close #10
개요
9 #10 에 근거하여
버튼을 눌렀을 때,
Label
에 표시가 될 수 있게 하는 코드를 추가 연산 버튼을 눌렀을 때도 기호들이Label
에 추가되며 연산 기능은 구현되지 않았습니다.작업 내용
switch
를 통해 버튼의title
에 따라 함수를 호출합니다.0
이지만 숫자를 입력하면 0은 삭제되고 숫자가 입력되게 함수를 정의했습니다.버튼이 정상동작 하는지 확인하기 위한 간단한 코드로 함수들을 작성해보았습니다.
관련이슈
close #9 close #10