MVC 패턴 연습을 위해 간단한 앱을 만들어 보며 중요 내용을 정리해보려고 한다.
MVC 패턴을 연습하기 위해 폴더와 파일을 나누어
화면 1 에는 네비게이션 바와 테이블 뷰를 구현하였고
화면 2 는 셀 클릭 시 다음으로 넘어가는 화면을 구현했다.
중요한 점은 델리게이트 패턴인데
화면 2에서 수정 후 업데이트 버튼을 누르면 화면 1로 이동하고 수정된 정보가 업데이트 되어 나타난다.
커스텀 델리게이트 방식으로 프로토콜을 생성하고
화면2의 업데이트 정보에 대한 화면 1 변경을 위해
화면 1에서 델리게이트 프로토콜을 채택 후 화면2의 정보를 받아 대리자 역할을 하도록 하였다.
Delegate 는 말그대로 대리자 이다.
객체 지향 프로그래밍에서
쉽게 말해서 델리게이트 패턴은 하나의 객체가 모든 일을 처리하는 것이 아니라
처리해야 할 일 중 일부를 다른 객체에게 위임한다는 거죠.
즉, 객체와 객체 간 쌍방향 커뮤니케이션의 방법입니다.
텍스트필드, 테이블뷰 등의
기본 Delegate 프로토콜의 메서드들은
이미 애플이 잘 만들어 놓았고 우리는 목적에 맞게 선택하여 사용하면 된다.
- 블로그 참조
하지만 화면 2에서 1로 업데이트 정보가 나타나는 경우는
뷰 컨트롤러에서 뷰 컨트롤러에게 일을 시키기 때문에
커스텀으로 델리게이트 프로토콜을 생성하고 대리자의 역할을 하는 뷰컨에서 채택해주어야 한다.
https://ios-daniel-yang.tistory.com/18#google_vignette
https://ios-daniel-yang.tistory.com/19
'내일배움캠프 iOS' 카테고리의 다른 글
UIKit) TIL # 34 CRUD (CoreData , Networking) (2) | 2024.12.05 |
---|---|
UIKit) TIL # 33 메모리 관리 이해 (1) | 2024.12.04 |
UIKit) TIL #31 앱 개발 숙련 강의 - ViewController Lifecycle (1) | 2024.12.02 |
UIKit) TIL #30 키오스크 팀프로젝트 마무리 - 아키텍처 , 오토레이아웃 충돌 intrinsicContentSize (0) | 2024.11.29 |
UIKit) TIL #29 키오스크 팀프로젝트 - 스크럼 (0) | 2024.11.28 |