UIKit_Fundamentals 3

The Delegate Pattern

[1/16] Introducing Delegates

: Delegate 패턴을 배울 것이다!

 

[2/16] Reuse With Customization

강의에서 등장하는 말을 그대로 인용해 이해하면

"Delegate 란?"

an Object that executes a group of method on behalf of another object

(다른 object를 대행해서 그 object에서 실행되는 메서드의 집합)

reuse views without needing subclass and modify user interface libraries

(subclass나 인터페이스 라이브러리를 수정하지 않고 뷰를 재사용 할 수 있다)

The Delegate Pattern

[3/16] The Course Github Repository

[4/16] Compare and Constrast Custom Text Field, Quiz

: 세가지 텍스트 필드 특징 비교

[5/16] Introducing Protocols

Delegate pattern의 핵심은 View가 답변해야 할 질문을 설정하고

프로토콜에서 질문들을 인코딩하는 것 입니다.

여기서 프로토콜은 delegate가 구현해야 하는 메서드의 목록입니다.

The Delegate Pattern

[6/16] Real World Examples of Protocols

[7/16] Text Field Code Review : 두 delegate를 바꿀 수 있을까? 네

[8/16] The UITextFieldDelegate Protocol

7개의 method들이 언제 쓰이는지 forum을 찾아보자!

1. textField의 LifeCycle에 영향

  * textFieldShouldBeginEditing(_:) (이 메서드는 주로 field에 Edit을 막거나 허락할 때 사용)

  * textFieldDidBeginEditing(_:)

  * textFieldShouldEndEditing(_:)

  * textFieldDidEndEditing(_:)

2. 제일 많이씀. 텍스트 필드에 변화가 생겼을 때 알아챔

  * textField(_:shouldChangeCharactersIn:replacementString:)

3. x를 누르면 clear하게 할 때

  * textFieldShouldClear(_:)

4. return 키를 누르면 textField를 떠나게 하는

  * textFieldShouldReturn(_:)

The Delegate Pattern

[9/16] Diagramming the Text Field App

The Delegate Pattern

[9/16] Diagramming the Text Field App

4

5

6

7

The Delegate Pattern

[10/16] A Look at the other Two Delegates, Quiz

: 두 Delegate의 구현 차이점

Emoji는 텍스트 필드 안을 처음으로 탭 하면 기존 텍스트가 지워집니다(textFieldDidBeginEditing(_:))

둘 다 텍스트 필드 내용이 바뀌면 변화가 일어납니다(textField(_:~~~))

colorize는 리턴 키를 누르면 키보드가 닫힙니다(textFieldShouldReturn(_:))

 

[11/16] Creating A Random Color Delegate

: Delegate 파일 만들기, 사용하기

The Delegate Pattern

[12/16] Random Color Delegate Code : RandomColorTextFieldDelegate.swift 파일 코드

방식은 단순합니다.

7개의 색이 담긴 배열에서 하나의 색을 가리키는 인덱스를 뽑아 textColor에 반영시킵니다.

The Delegate Pattern

[13/16] Preparing For The Challenge Apps : 챌린지 앱에 관한 설명(https://goo.gl/QJzbtU)


그리고 영상에서 권하는 것

replacingCharacters(in:with:) 를 사용하세요. EX> 메서드 사

[14/16] Challenge App

[15/16] Challenge App  Quiz

[16/16]  Next Up: MemeMe v1.0 : 잘 안내해 주신다면서요ㅠㅠ

위 슬라이드는 부스트캠프 스터디용으로 제작 되었습니다.

강의 출처는 https://goo.gl/5BkUCv 입니다.

The Delegate Pattern

boostcamp_UIKit View The Delegate Pattern

By Jung Han

boostcamp_UIKit View The Delegate Pattern

정리

  • 614