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
}
```

### 티타임
나는 잘 가고 있는게 맞을까?
지금 당장 구현에 급급하지만, 발표가 더 중요한 것 같다는 느낌도 들고.
하지만 팀 프로젝트다.
내 구현물도 구현물이지만, 팀원들의 구현물이 제대로 보여질 수 있도록 하자.