금일 수꿍과 각자의 계산기 프로젝트를 합치는 일을 했다.
UIStackView
@IBOutlet private var inputedStackView: [UIStackView]!
inputedStackView.forEach { stackView in
stackView.removeFromSuperview()
}
상위 스택뷰 의 .subview.removeFromSuperview()를 몰라서 위 코드와 같이 구현하였다. 수꿍의 코드를 보고 수정하였다.
private func clearStackView() {
expressionStackView.subviews.forEach { $0.removeFromSuperview() }
}
sender.tag 를 사용할 경우 전해지는 button이 어떤 의미를 갖고 있는지 모르기 때문에 열거형을 이용해주어 직관적인 코드 컨벤션으로 만들어준다.
@IBAction private func tappedChangeValue(_ sender: UIButton) {
let changeValue = sender.tag
if changeValue == 0 {
} else if changeValue == 1 {
} else {
}
}
해결 코드
코드와 같이 button 메서드의 경우 DidTapped를 주로 이용한다.
@IBAction private func changeValueButtonDidTapped(_ sender: UIButton) { guard let changeValue = sender.currentTitle else { return } let constant = Constant(rawValue: changeValue)
switch constant {
case .ac:
// ac가 눌린 경우
case .ce:
// ce가 눌린 경우
case .signChange:
// -/+가 눌린 경우
default:
return
}
}
### 일기
> TIL 해보....기..로