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

열심이님의 프로필 이미지

작성한 질문수

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

활용-3앱 (넷플릭스 로그인) / MVC패턴 적용하기 (활용 앱44강)

MVC패턴으로 코드짤때 질문입니다.

24.05.13 22:51 작성

·

153

0

스크린샷 2024-05-13 오후 10.43.43.png앨런님,

제가 질문이 좀 많아서 죄송합니다...위에서 보면 이 파일은 view에 포함된다고 하셨는데요 제가 코드로 짤때 view에 포함되는 내용을 구분하는 데 좀 이해가 부족합니다...저는 이렇게 생각을 했거든요 스토리보드에서 만든 내용만 포함 시킨다고 생각을 해서 스토리보드에 들어가는 내용이 대부분 UI를 그리는 거 오토레이아웃까지만 그리는 거라고 생각을 했는데 위의 내용은 그것이 아니라는 생각이 드는데 addTarget을 컨트롤러에 옮기신건 이해가 가거든요 그런데 제가 생각할때 위에 내용도 엄밀히 말하면 addTarget과 비슷한것이 아닌가 이런 생각이 들어서요...도움 부탁드립니다 감사합니다:)

답변 1

0

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

2024. 05. 13. 23:40

네 DongHyun 님.


뷰. 즉, 화면과 관련된 내용은 다 뷰(View)와 관련된 내용이라고 보시면 됩니다.

말씀하신 것처럼 단지.. 단순하게 정말 UI와 관련된 일 뿐만아니라, 화면에서 일어나는 일부분의 로직(Logic)이나 디자인 관련된 것들은... 다 뷰(View) 관련일이라고 보시면 됩니다.

예를 들어서 위의 코드를 보시면
1) 백그라운드 색상을 설정하고
2) 폰트 크기에 대한 결정을 하고 있는 코드 이잖아요.

이게 앱의 성격을 결정하는데 중요한 일인가요?
예를 들어서 1) 가위 / 바위 / 보 게임을 만들거나, 2) BMI앱을 만들었을 때,

1) 가위/바위/보 게임이라면,
거기서의 필수 로직(모델)은 가위/바위/보 게임 (이겼다 / 졌다 / 비겼다) 이잖아요. 앱의 백그라운드 색상이 앱의 가위 / 바위 / 보 게임을 중요하는 요소 이거나 관점인가요? 디자인은.... 백그라운드를 핑크로 하던 옐로우로 하던 언제든지 바뀔 수 있는거 아닌가요?

2) BMI 앱을 만든다 치면,
BMI의 핵심 요소는 결국에 몸무게와 키를 이용해서 BMI를 숫자를 계산해 내는게 그 앱의 본질을 결정하는 중요한 요소가 아닌가요?

그 앱을 정의하는데 있어서의 중요한 로직이 모델이고
백그라운드 색상이나 / 폰트 같은 것들은 로직이 아닙니다.

그리고, 예를 들어 로그인 화면에서의 중요한 모델(로직)은
이메일 주소, 비밀번호를 서버에 보내서, 실제 그 유저가 존재하는 지의 여부를 확인해서
로그인을 시킬지 말지가 그 중요 로직이지
백그라운드가 파랑건, 빨간색이건 그건 하등의 중요한 사항이 아닙니다.
(즉, 앱의 디자인과 관련된 것들은 언제든지 바뀔수 있는 것이고, 이것들은 모델(로직)과 관련된 것들이 아닙니다.)

스토리보드에 들어가는 지 여부가 중요한 것이 아니라, 그 앱의 성격 + 해당 화면에서 중요하게 처리해야하는 핵심 본질이 모델(로직)이라고 보시면 됩니다.


감사합니다. :)

열심이님의 프로필 이미지
열심이
질문자

2024. 05. 13. 23:50

앨런님, 상세한 답변 정말 감사합니다!! 이제 이해가 됩니다 감사합니다!! :)