티스토리 뷰

728x90

하얗게 불태웠다... 23시간의 결과..

커밋수가 30개다..

원래 이렇게 한꺼번에 하면 안되지만.. 마음이 급했다

커밋수가 30개라니..

 

최근에 코딩테스트 보느냐 개발을 하고싶었는데 못했어서

일요일 코딩테스트 끝나고 부터 리팩토링을 시작했다. 이젠 왼만큼 사용법을 알았다고 생각해서 빨리 끝날 줄 알았는데

머리아프다 ㅠ _ㅜ..

 

이번 PR도 역시 배운게 많다

rxDataSource + reactorKit 깔끔하게 여러 cell 구현 방법도 알게됬고(구조 생각하느냐 오래걸렸다.. 포스팅 예정..)

케이스 패턴도 알게되고..(포스팅 예정..)

커스텀델리게이트도 써봤다.(포스팅 예정..)

 

이전 pr에서 cell에 들어갈 dataModel에 cellType을 enum으로 줘서 cell들을 구분해줬는데, 그렇게 하면 cell에 데이터를 넣는 과정이 뷰컨트롤러 안에 있기 때문에 MVVM 패턴에 안맞는다고 생각을 해서, 이를 수정하려고 고민을 많이 했다.

그리고 해결했다. 오래걸렸다..

 

위 문제를 해결하기 위해서 SectionModel의 item에 cellViewModel을 넣어줘서 해결을 해줬지만, cell을 여러개 사용할 경우 SectionModel이 여러개 생겨야 한다고 생각을 했어서 고민에 빠졌었다.

요렇게 여러개를 사용할려면 ViewModel별로 SectionModel을 여러개 만들어 줄 순 없으니깐..?

 

그래서 노트장 열고 하나하나 적어가며 내린 결론이 cellViewModel을 enum으로 관리해주면 되는 것이였다.

SectionModeldml Item 부분에 cellViewModel를 넣지 말고 cellViewModel들이 있는 enum을 넣어주면 된다. ㅇ_ㅇ

 

물론 따로 정의를 해줘야 하기 때문에 SectionModel 파일을 새로 만들어줘야 한다. 가 아니네.. 그냥 enum으로 정의만 해주고 SectionType<Void(), enum> 이렇게 넣어줘도 되겠구나.. =_=.. 아무튼간..

 

요렇게 정의해주면 이렇게 깔끔하게 cell를 뿌려줄 수 있다.

여기서 enum 테스트 케이스란걸 알게 되었다. 필요했기 때문에..

 

하지만 sectionModel의 Item을 cellViewModel의 enum으로 줬기 때문에, cell이 이동시 cell의 dataModel값을 접근하기가 까다로웠다.

 

ㅠ _ㅜ.. 이부분은 생각이 안났다.. 나중에 수정할 수 있으면 수정해야 할 부분이다.

 

이 부분은 정리해서 포스팅을 할 예정이다. ㅇ_ㅇ

 

다음은 코어데이터 연결이다.. 할수있다..

 

포트폴리오도 정리해서 이력서 또 내야하는데..

내일부터 다시 알고리즘 풀이랑 병행하자..

화이팅

 

졸리다..zZ

 

 

728x90
댓글