---
# System prepended metadata

title: 20220216 iOS 일일 개발일지
tags: [develop, '20220216']

---

20220216 iOS 일일 개발일지
===

###### tags: `develop`, `20220216`

[toc]

### 모달 구현
내가 구현하고자 하는 어플에는 참 많은 모달이 있음.
하지만 모달에 대해서 각각 구현하는 것은 재사용성을 낮추고, 비효율적일 것 같다는생각이 들었다.

이 부분에 대해서 어떻게 해결할지 고민 중

enum의 연관값을 사용하는 것은 어떨까 하는 생각이 들었음.

sort vc와 sizeselect vc를 제거하고, 이를 select vc로 바꿔서 하나의 vc가 모든 모달에 대해서 대응할 수 있도록 코드를 작성해야겠음.

```swift=
enum SelectionType {
    case wish(size: String = "")
    case size(size: String = "")
    case sizePrice(size: String = "", price: Int? = nil)
    case sort(sequence: String = "")
    case deadline(date: Int = 0)
    
    var navigationTitle: String {
        switch self {
        case .wish:
            return "관심 상품 추가"
        case .size:
            return "사이즈 선택"
        case .sizePrice:
            return "사이즈"
        case .sort:
            return "정렬 순서"
        
        case .deadline:
            return "입찰 마감기한"
        }
    }
}
```

SelectionType에 따라 모달의 높이 또한 다르게 하기 위해서 Layout enum을 구현하고, 타입에 따라 collectionView의 레이아웃을 결정하기로 했음. 

```swift=
      if case .sort = type {
            return Layout.list.description
        }
        if case .wish = type {
            return Layout.third.description
        }
        if case .deadline = type {
            return Layout.third.description
        }
        

```

![](https://i.imgur.com/WvigRp4.jpg)


### 티타임

나는 잘 가고 있는게 맞을까?
지금 당장 구현에 급급하지만, 발표가 더 중요한 것 같다는 느낌도 들고.

하지만 팀 프로젝트다. 
내 구현물도 구현물이지만, 팀원들의 구현물이 제대로 보여질 수 있도록 하자.