티스토리 뷰

728x90

안녕하세요! 오래간만의 포스팅 입니다. 오늘은 rxSwift를 사용해서 커스텀 cell을 두개 이상을 뿌려주는 방법에 대해 알아볼거에요.


rxSwift를 사용해서 cell을 뿌려줄 때의 느낀 장점은.. 뿌려주기가 편하고 간단하다 였어요.

단 cell을 하나만 사용할 경우에만요..

그러나 저희는 cell을 하나만 사용하진 않죠.. 그래서 방법을 찾아봤는데..




ㅋㅋ.. 찾기가 어렵더라구용 예제 프로젝트 소스들도 다 cell을 하나만 사용했었고, 문서에도 못찾았었어요.


그래서 오늘 이렇게 포스팅을 작성하게 되었습니당.(공유공유)



혹시 rxSwift를 사용해서 cell을 뿌려주는 방법을 모르시는 분은 이전 포스팅을 참고해주세용


이전포스팅 - rxSwift, rxDataSource 사용해서 TableView 사용해보기!


그럼 시작하겠습니다!

rxSwift를 사용해서 Cell을 뿌려주는 기본적인 방법


대표적으로 2가지 방법이 있죠??

  • rxSwift를 사용하거나..

  • rxDataSource를 사용하거나..

이 포스팅은 위 두가지 경우에서 2가지 이상의 cell을 뿌려주는 방법에 대해 알아보겠습니다.

1. rxSwift를 사용할 때

편하게 사용하기 위해서 ResuableKit을 함께 사용하겠습니다. 사용법은 한번보면 이해가 될 정도로 쉬워요.


2개의 Cell을 사용한다고 했을 때의 바인딩 코드 입니다.

특이한점은 indexPath값이 인자값으로 있는게 아니라 row값이 주어져서 section값에 따라 indexPath값을 만들어 줘야 한다는점..? section 자체가 없어서 그런가.. (section을 사용하려면 rxDataSource를 사용해야하니..? 크흠..)


아무튼 요런식으로 2개 이상의 커스텀cell을 사용해 줄 수가 있습니다.



2. rxDataSource를 사용할 때

rxDataSource는 dataSource를 정의해주고 tableView나 collectionView의 items에 dataSource를 바인딩 해줌으로써 cell을 뿌려줄 수 있는데, dataSource를 정의하는 과정에서 configureCell 부분에서 각 cell마다 따로 정의를 해주면 되요.


단.. rxDataSource같은 경우는 SectionModel이 있고 이 SectionModel 안에 DataModel이 있는데.. cell마다 이 DataModel이 다를 것이라는 거죠. 이부분은 고민을 한번 해봐야 할 부분일 것 같아요.

굳이 하나만 쓸 이유는 없으니깐..



오늘은 rxSwift를 사용해서 cell을 2개 이상 뿌려주는 방법에 대해 알아봤습니다. 사용은 가능하긴 한데, 엄청 깔끔한 코드같지는 않아요. 더 좋은 방법이 있을텐데.. 혹시 더 좋은 코드를 아신다면 댓글로 남겨주시면 감사하겠습니다.


이런게 중요한 것 같아요. 지금 당장 사용하고 끝낼 수도 있지만.. 이 코드 구현 말고도 더 좋은 코드는 없을까? 이런 고민들..? 저한텐 개발자 멘토가 있는데, 그분이 그러시더라구요 "이코드는 최선일까?" 를 항상 생각하신다고.. 당장 이 코드를 사용하고 끝낼 수도 있지만.. 귀찮지만 이것저것 코드를 작성해보고 더 좋은 코드를 작성해보는 행동들이 조금씩 제 코드의 퀄리티를 높혀줄꺼라 믿습니다.


그럼 오늘도 제 포스팅을 읽어주셔서 감사하고.. 항상 코로나 조심하시고.. 오늘도 좋은하루 되세요!


그럼 이만..

참고

추가로 혹시 iOS 앱 개발이 아직 미숙하다고 느끼시고 이 강의를 안들어 보신 분은 edWith - 부스트코스 iOS 강의를 꼭 들어보시는걸 추천드려요. 카카오톡 오픈톡방에 iOS 부스트코스 오픈톡방도 있으니 한번쯤 들어오셔서 swift 질문도 하고 정보도 공유하면 좋을 것 같아요.

728x90
댓글