이슈: 테이블 뷰 셀 내부에 UICollectionView를 갖고있는 셀이 두개로 늘어나면서, UICollectionViewDataSource를 위임할 대상에 대한 고민이 생겼다. 컨트롤러 혹은 테이블 뷰 셀에게 위임할 수 있는데, 내가 분석한 각각 장단점은 다음과 같다.
UITableViewCell에게 위임 했을 경우
[+] 콜랙션 뷰에서 처리하는 작업의 코드들을 각각의 셀로 옮겨 왔으므로 컨트롤러의 코드가 비교적 깔끔해진다.
셀에 데이터를 매핑하는 일은 UITableViewCell이 하고, 컨트롤러는 오직 UITableViewCell에 데이터만
주입한다.
[-] 내장된 콜랙션 뷰의 배경색상이 독립적이다. 컨트롤러에 위임할 경우에는 콜랙션 뷰의 슈퍼 뷰 색상이 콜랙션 뷰에
영향을 주는 반면, 셀에 위임할 경우 콜랙션 뷰의 배경색에 영향을 주는 것은 콜랙션 뷰 자신이다.
예) 콜랙션 뷰의 슈퍼 뷰 배경색이 하늘색이고 콜랙션 뷰 배경색이 UIColor.clear일 경우, 콜랙션 뷰 색상이 검정색
으로 나온다.(색이 없음) 셀의 색상이 독립적인 색이라면 상관없지만, 셀 색상의 alpha값이 1이 아니고 배경뷰를
비추고 있다면, 좋지 않은 구조라고 생각된다.
UIViewController에게 위임 했을 경우
[+] 콜랙션 뷰의 슈퍼뷰와 콜랙션 뷰의 배경 색상이 의존적이기 때문에 다른 뷰들과의 조화로운 색상을 쉽게 연출할
수 있다.
[-] 컨트롤러의 책임이 커지며, 코드도 길어진다.
현재 내 프로젝트에 적용해보자면, 셀들의 배경이 독립적인 색상이 아닌 슈퍼 뷰의 배경 색이 비쳐지기 때문에, UITableViewCell에게 위임할 경우 위험부담이 있어보인다.
이슈: 테이블 뷰 셀 내부에 UICollectionView를 갖고있는 셀이 두개로 늘어나면서, UICollectionViewDataSource를 위임할 대상에 대한 고민이 생겼다. 컨트롤러 혹은 테이블 뷰 셀에게 위임할 수 있는데, 내가 분석한 각각 장단점은 다음과 같다.
UITableViewCell에게 위임 했을 경우 [+] 콜랙션 뷰에서 처리하는 작업의 코드들을 각각의 셀로 옮겨 왔으므로 컨트롤러의 코드가 비교적 깔끔해진다. 셀에 데이터를 매핑하는 일은 UITableViewCell이 하고, 컨트롤러는 오직 UITableViewCell에 데이터만 주입한다. [-] 내장된 콜랙션 뷰의 배경색상이 독립적이다. 컨트롤러에 위임할 경우에는 콜랙션 뷰의 슈퍼 뷰 색상이 콜랙션 뷰에 영향을 주는 반면, 셀에 위임할 경우 콜랙션 뷰의 배경색에 영향을 주는 것은 콜랙션 뷰 자신이다. 예) 콜랙션 뷰의 슈퍼 뷰 배경색이 하늘색이고 콜랙션 뷰 배경색이 UIColor.clear일 경우, 콜랙션 뷰 색상이 검정색 으로 나온다.(색이 없음) 셀의 색상이 독립적인 색이라면 상관없지만, 셀 색상의 alpha값이 1이 아니고 배경뷰를 비추고 있다면, 좋지 않은 구조라고 생각된다.
UIViewController에게 위임 했을 경우 [+] 콜랙션 뷰의 슈퍼뷰와 콜랙션 뷰의 배경 색상이 의존적이기 때문에 다른 뷰들과의 조화로운 색상을 쉽게 연출할 수 있다. [-] 컨트롤러의 책임이 커지며, 코드도 길어진다.
현재 내 프로젝트에 적용해보자면, 셀들의 배경이 독립적인 색상이 아닌 슈퍼 뷰의 배경 색이 비쳐지기 때문에, UITableViewCell에게 위임할 경우 위험부담이 있어보인다.