인프런 커뮤니티 질문&답변

hoon님의 프로필 이미지
hoon

작성한 질문수

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

활용-8 앱 / 테이블뷰 코드로 만들기, 모델 구성 (활용 앱64강)

테이블 뷰 관련 질문있습니다!

작성

·

153

·

수정됨

0

안녕하세요 앨런님.

테이블 뷰 강의를 참고하여 현재 프로젝트에 적용하고 싶은 뷰가 있습니다.


 

스크린샷 2024-05-11 오전 1.29.40.png


위와 같은 뷰를 만들고 싶은데, 3가지 섹션으로 만들고

섹션 1. 올데이(UIswitch)

섹션 2. 스타트와 엔드(DatePicker)

섹션 3. 메모(textView)


1. 테이블 셀을 재사용한다.

테이블 셀의 init을 (소제목: String?, 올데이: UISwitch?, 일정: UIDatePicker?, 메모: UITextView?)로 작성하고 컨텐트뷰에 들어갈 소제목은 필수, 오른쪽에 들어갈 액세서리뷰는 나머지 3개 요소 중 각 섹션에서 필요한 객체만 넣어서 사용


2. 셀이 아닌 단순 뷰로 구현한다.

뷰 안에 객체들을 넣어서 마치 셀인 것 처럼 디자인하여 사용.


2가지 선택지를 모두 구현해봤는데

첫번째 방법은 "통일성이 있다"는 장점 그러나 "구현이 힘들고 또 스위치, 데이트, 메모에 저장된 데이터를 한꺼번에 모아서 전달하는 방법을 모르겠다" 는 단점.

두번째 방법은 "구현이 쉽고, 한번에 데이터를 전달하기 쉽다"는 장점, 그러나 "코드가 많이 비대해진다"는 단점.

위를 종합하여 저의 방향성은 "어짜피 셀도 몇개 재사용하지 않을텐데 그냥 단순히 뷰로 구현하자!" 이렇게 결론났습니다.

2가지 중 앨런님이 생각하셨을 때는 어떤 방향으로 가실지 또한 제가 선택한 방향이 맞을지 질문하고 싶습니다. 도와주세요...

 

답변 1

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

네 안녕하세요 hoon님.

 

정답이 없는 문제예요...... 어떻게 구현하셔도 전혀 상관이 없습니다.
똑같이 구현이 되는 방법이 있다면 그걸 선택하시면 됩니다.

(정답이 없는 문제를 정답을 알려달라고 하면.. 저도 난처 하겠죠??ㅠㅠ. 특히나 뷰는 동일하게 구현할 수 있냐 없냐의 문제이지.. 이렇게도 구현할 수 있고, 저렇게도 구현할 수 있는건.. 각자 개인의 취향이나, 회사 팀이라면 팀내에서도 그냥 통일된 방향성을 정할 뿐이지.. 또는 유지 보수를 생각한다던가, 확장성을 고려하는 방향으로 가긴 가겠죠.)


그래서 개인적으로는.. 정말 어떤 방법으로 구현해도 전혀 상관없다고 생각해요.

아마 근데, 첫번째 방법으로 "섹션"방식으로 구성한다고 하셨으면... 셀을 하나의 생성자로 만드는 것이 아니라, 셀을 각자 다른 셀을 만드시면 됩니다. 섹션으로 만드신 다고 하셨으니까 각자 서로 다른 셀을 만들어서 셀을 올리면 된다는 뜻이죠. (셀을 하나로 만들어 반드시 재사용의 필요가 없습니다.)
(그리고 테이블뷰는 항상 동일한 형태의 셀을 그릴 필요는 없어요. 예를 들어 cellForRowAt 메서드에서 스위치문 쎠서서, 경우에 따라 다른 셀을 그리시면 됩니다.)


서로 다른 셀이니, 데이터도 서로 다른 데이터를 그리면 되니 (서로 다른 변수를 가져도 상관없으니) 편해지겠죠?

그리고
https://jaemuyeo.github.io/ios/tableView/
https://inuplace.tistory.com/1174
https://www.youtube.com/watch?v=2FigkAlz1Bg&ab_channel=iOSAcademy

이런 블로그 글이나 유튜브 보셔도.. (uikit + tableview + settings (또는 설정) + 화면 구현) 이렇게 검색하시면 충분히 원하시는 내용을 찾으실 수도 있으실 것 같아요.


위에서 말씀드렸듯이, 선택의 문제이니..
두번째 방법으로 구현가능하셔서, 두번째 방법으로 하셨다면.. 전혀 상관이 없을 듯도 합니다..!
(다만 뷰로 구성하시면.. 나중에 항목이 추가되었을때, 코드를 확정성있게 사용하기 어렵겠죠.ㅠ. 테이블뷰의 장점은 항목이 늘어났을때 위아래 스크롤이 된다는 것이니까요.)



화이팅하세요 :)

hoon님의 프로필 이미지
hoon
질문자

주변에 ios 개발자가 없어서 고민이 있을 때 마다 앨런님 도움을 많이 받습니다.

좋은 사수를 만나는 것이 중요하다는 걸 깨닫네요.

항상 감사합니다. 좋은 하루되세요!

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

네네 hoon 님도
좋은 하루 되시고!

사수가 없어서 고민이라고 하셨으니,
https://open.kakao.com/o/goTHKG8b
이 링크는 iOS개발자 1400명 정도가 모여있는
단톡방이예요!

보통 어떤 고민이 생기셨을때
이런건 어떻게 구현해야 되나요? (또는 화면 캡처 올리신 다음에 이런 화면 구현하려는 데 관련된 키워드가 뭔가요?) 이런거 물어보시면
많은 도움, 힌트 얻으실 수 있으실 꺼예요!ㅎㅎ

화이팅!

hoon님의 프로필 이미지
hoon

작성한 질문수

질문하기