내일배움캠프 iOS

UIKit) TIL #32 MVC, Delegate Pattern

yjuni22 2024. 12. 3. 22:08

MVC 패턴 연습을 위해 간단한 앱을 만들어 보며 중요 내용을 정리해보려고 한다.

 

 

MVC 패턴을 연습하기 위해 폴더와 파일을 나누어 

화면 1 에는 네비게이션 바와 테이블 뷰를 구현하였고

화면 2 는 셀 클릭 시 다음으로 넘어가는 화면을 구현했다.

 

중요한 점은 델리게이트 패턴인데

화면 2에서 수정 후 업데이트 버튼을 누르면 화면 1로 이동하고 수정된 정보가 업데이트 되어 나타난다.

 

커스텀 델리게이트 방식으로 프로토콜을 생성하고

화면2의 업데이트 정보에 대한 화면 1 변경을 위해

화면 1에서 델리게이트 프로토콜을 채택 후 화면2의 정보를 받아 대리자 역할을 하도록 하였다.

 

 

Delegate 는 말그대로 대리자 이다.

 

객체 지향 프로그래밍에서
쉽게 말해서 델리게이트 패턴은 하나의 객체가 모든 일을 처리하는 것이 아니라
처리해야 할 일 중 일부를 다른 객체에게 위임한다는 거죠.

 

즉, 객체와 객체 간 쌍방향 커뮤니케이션의 방법입니다.

 

텍스트필드, 테이블뷰 등의

기본 Delegate 프로토콜 메서드들은

이미 애플이 잘 만들어 놓았고 우리는 목적에 맞게 선택하여 사용하면 된다.

 

- 블로그 참조

 

하지만 화면 2에서 1로 업데이트 정보가 나타나는 경우는

뷰 컨트롤러에서 뷰 컨트롤러에게 일을 시키기 때문에

커스텀으로 델리게이트 프로토콜을 생성하고 대리자의 역할을 하는 뷰컨에서 채택해주어야 한다. 

 

 

https://ios-daniel-yang.tistory.com/18#google_vignette

 

[iOS/Swift] 델리게이트 패턴 (Delegate)

Delegate Delegate 단어의 뜻 사전적 의미로 위임하다, 대리자라는 뜻을 갖고 있습니다. 객체 지향 프로그래밍에서 쉽게 말해서 델리게이트 패턴은 하나의 객체가 모든 일을 처리하는 것이 아니라 처

ios-daniel-yang.tistory.com

 

 

 

https://ios-daniel-yang.tistory.com/19

 

[iOS/Swift] Custom delegate 패턴

Custom Delegate 오늘은 Custom delegate 생성 방법에 대하여 알아봅시다. 기본 Delegate 관한 내용은 [iOS/Swift] 델리게이트 패턴 (Delegate)를 참고해 주세요. 보통 Delegate 패턴은 두 컨트롤러 간의 데이터를 전

ios-daniel-yang.tistory.com