lazy var numLabel: UILabel = {
let label = UILabel()
label.text = expression
label.textAlignment = .right
label.textColor = .white
label.font = .systemFont(ofSize: 60, weight: .bold)
label.numberOfLines = 0
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.5
return label
}()
struct Buttons {
private init() {}
static let multiplMark = "×"
static let divisionMark = "÷"
static let texts = ["7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", multiplMark, "AC", "0", "=", divisionMark]
static let orrangeBtns = ["+", "-", divisionMark, multiplMark, "AC", "="]
static let operators = ["+", "-", divisionMark, multiplMark]
}
잘한점
아쉬운점
총평
전반적으로 너무 잘 작성해 주셔서 크게 피드백 드릴 것이 없네요 :)
mvc에 관해 물어보셨는데 일단 View를 잘 분리하셨습니다.
model에 대해서는 저라면 button 하나에 대한 데이터를 먼저 정의했을 것 같네요. 그 버튼들을 모아서 buttons를 만들 수 있으니까요.
버튼에는 "7", "+"인 텍스트도 필요하겠지만, 이게 숫자인지 어떤 연산자인지를 판단하는 enum값이 같이 들어간다면 사용하는 쪽에서 더 편하게 사용할 수 있을거라 생각합니다. 수고 많으셨습니다~