Project 07 - Delegation Pattern

DaY·2021년 4월 1일
1

iOS

목록 보기
21/52
post-thumbnail

Delegate는 '위임하다'와 같은 의미로 해석된다.
다시 말하면 어떤 객체에서 일어나는 이벤트에 관한 혹은 어떤 객체에 뿌려줄 데이터에 관한 코드를 다른 객체에서 작성해주는 것을 말한다.

즉, Sender의 일을 Receiver가 대신해주며 이러한 행위는 Protocol을 동반한다.

  • protocol : 해야 할 일의 목록
  • sender : 일을 시키는 객체
  • receiver : 일을 하는 객체

이러한 객체들 간 대화하는 방법은 여러가지가 있다.

  1. Notification Center
  2. Key-Value Observing
  3. Completion handlers / Callbacks (using closures)
  4. Target-Action

Delegation

  1. protocol 작성
protocol DelegateName {
    func Task()
}
  1. Delegation 채택

클래스 위에 ": DelegateName"을 작성하여 해당 클래스가 Delegate를 따른다는 것을 표현한다.

  1. Sender와 연결

일을 수행 전, 그 전에 해당 일이 어떤 객체로부터 주어졌는지 명시해주어야 한다.

  1. 요구사항 구현

protocol의 함수를 구현해주어야 한다.

0개의 댓글