5월 30일 (월)

apwierk·2022년 5월 31일
1

TIL

목록 보기
17/33

TIL (Today I Learned)

5월 30일 (월)

학습 내용

금일 수꿍과 각자의 계산기 프로젝트를 합치는 일을 했다.

문제점 / 고민한 점

  • UIStackView 메서드

    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 해보....기..로
profile
iOS 꿈나무 개발자

0개의 댓글