GDG + Whatever Challenge 3주차 회고록

Ted·2023년 9월 16일
0

회고록

목록 보기
4/5
post-thumbnail

어우 맨 살려주세요

1. 이번 주는 좋은 것과 나쁜 것이 무엇이 있었나요?

나빴던 점은 이번주는 개발에 팍팍 진행을 해야하는데 너무 많은 일(축제, 알바, 회의 등..)이 갑자기 몰려서 빠르게 진행을 못했다.

좋은 점은 얼추 일이 마무리되어서 개발에 집중할 수 있다는 것...? 그리고 API 명세가 얼추 나와있어서 사실 그거대로 살펴보면서 만들면 된다는 점?

2. 이번주에 진행했던 학습/개발 내용은 무엇인가요?

지금 앱에 기록화면을 만들고 있다. 정확히는 입력화면인데 상단에는 버튼 5개로 이루어진 header바가 있고 이것에 따라서 이미지의 테마가 결정된다. 그리고 이미지뷰가 있고 아래로는 날짜, 카테고리 선택, 소비내용 등등이 있다. 현재 개발 중에 있으며 버튼 선택하는 것에서 너무 많은 시간을 허비하게 되었다.

3. 가장 고민을 했던 부분은 무엇이었나요?

입력화면에 상단에는 버튼 5개로 이루어진 header바 아래 뷰가 있고 이것에 따라서 이미지의 테마가 결정되는데 여기서 이걸 UICollectionView로 할 것이냐 아니면 for문으로 button을 걸 것이냐 아니면 button1, button2... 로 할 것이냐를 상당히 고민하면서 처음에는 CollectionView로 개발하다가 아 이걸 굳이?라는 생각에 다시 버튼 5개로 개발 중이다. 현재 각 버튼들에 해당하는 상세 뷰 디자인이 나오진 않아서 흰색 빈 버튼 5개로 해놓았다.

다음 고민을 했던 부분은 이 전체 기록화면 뷰에서 이걸 UIStackView로 깔끔하니 세울 것이냐 아니냐를 고민했다가 이미지뷰랑 마지막 카드만들기 버튼이 가운데로 일치시켜야하는 것이 있어서 처음에 StackView로 구현해서 했다가 도저히 가운데로 일치시키는 방법을 모르겠어서 그냥 일일이 makeConstraints로 조정했다.

그리고 색을 Extension으로 지금 뺄까 말까 고민하다가 일단 먼저 API연결까지 해보고 색을 Extension으로 빼야겠다고 생각했다. 이미지도 그렇고 Extension으로 빼야할 것같다.

다음은 카테고리 선택인데 이것도 위에 테마 선택버튼이랑 같은 것이라서 같은 뷰로 가져갔다. 같은 형식이기에 위에 코드를 작성하고 복붙해서 사용할 예정이다.

근데 이 모든 뷰를 일단 InputViewController에서 넣어놓고 각 뷰를 다넣어서 제작하다가 InputIconSelectedView, InputCategory 등으로 분리해서 하고있다. 근데 분리하는 것에서 날짜 Label부분이랑 같이 분리할 것인지 해당 기능부분만 분리할 것인지를 고민하다가 그냥 같이 분리를 했다. InputViewController가 너무 더러워질 것을 대비해서였다.

마지막으로는 DatePicker부분이다. DatePicker의 경우 선택했을 때 뜨지않아서 상당히 난간에 봉착되어있는 상태이다. 라벨에 다음과 같은 코드를 통해서 선택하면 DatePicker가 떠오르게 메소드를 설정해놨는데 뜨지가 않는다.. 이건 상단 버튼뷰를 해결하고 해보려고 한다.

label.isUserInteractionEnabled = true

그리고 멘토님께서 해결해주셨지만 상단바에 버튼들을 해결하는 과정에서 caseIterable을 사용하게 됐다.

enum Category: CaseIterable {
    case categoryProfile1, categoryProfile2, categoryProfile3, categoryProfile4, categoryProfile5
    
    var title: String {
        switch self {
        case .categoryProfile1: return "식비"
        case .categoryProfile2: return "교통"
        case .categoryProfile3: return "쇼핑"
        case .categoryProfile4: return "취미"
        case .categoryProfile5: return "기타"
        }
    }
}

개발면에서도 고민되는 부분이 있었지만 UX면에서도 고민되는 부분이 있었다. 금액을 직접 적는 부분에서 자신이 장난으로 적게되면 통계에서 거짓으로 나타나고 이를 공유하게 될 수 있는데 이것을 어떻게 해결할지를 고민이 되었다.

4. 아쉬운 부분을 개선하기 위해서 어떤 일을 할 건가요?

지금 enum 정리도 안되어있고 Color, Image 등 정리가 안되어있어서 일단 IView들을 다 구현하고 코드정리를 한 다음 하게 될 것같다.

그리고 변수명도 지금 제대로 정리가 안되어 있는 상황이긴하지만 일단 모든 뷰를 먼저 구현부터 하는게 우선이라서 빠르게 구현먼저 해야할 것같다.

5. 다음 주에 뭘 할 건가요?

구현! 무조건 구현!

profile
iOS Developer

0개의 댓글