일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- uikit
- OpenAI
- factory
- builder
- Architecture
- EventLoop
- designpattern
- dartz
- flutter
- state
- WiFi
- swift
- concurrency
- dart
- AppleDeveloper
- SampleApp
- weatherkit
- Xcode
- philipshue
- tuist
- 문법
- GIT
- Adapter
- WWDC24
- isolate
- singleton
- network
- iot
- SwiftUI
- LifeCycle
Archives
- Today
- Total
Jaebi의 Binary는 호남선
[Sample App] 계산기 App Copy 본문
목차
계산기 App
- iPhone 기본 계산기 app 만들기
- https://github.com/jaehwi95/calculator
기능 분석
- 숫자, 소수점 입력
- 보여지는 숫자 최대 길이는 length 12 (숫자 최대 9, comma + 소수점 합 최대 2 + 음수 표시)
- All Clear / Clear 기능
- All Clear는 initial state
- Clear는 현재 입력중인 숫자만 지우기
- +/- 음수 양수 변경
- %로 변경
- 0.01로 곱하기
- 기본 operation (나누기, 곱하기, 빼기, 더하기)
- 해당 operation 버튼 색상을 변경하여 어떤 계산을 하고 있는지 표시
- 결과값 (=) 기능
- 계산하여 결과값 표시
사용 기술 스택
- Swift 5
- UI: UIKit, Storyboard
예외 Case 고려 사항
- 숫자 입력: 보여지는 숫자가 0 또는 -0일 경우 입력 숫자로 replace (음수 양수는 유지)
- operation을 할 수 없는 상황에는 0으로 간주
- 소수점이 들어가고 숫자 미입력 (0.)
- operation을 하는 중에 = (예: 숫자입력 + operation클릭 + =클릭)
- second operator에 처음 입력한 숫자를 간주하여 리턴
- 나누기: 0으로 나누면 Error 표시
- Error일 경우 어떤 operation을 해도 Error 리턴
- +/- 음수 양수 변경: 0도 +/- 표시
- 아주아주 큰 숫자 표기
- 임시로 9자리 이상일 경우 round / 에러 표시
- e사용하여 표기 (맨 마지막에 구현 예정)
'Project' 카테고리의 다른 글
Project - GifscribeIt (0) | 2024.07.16 |
---|