[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나 인터페이스 라이브러리를 수정하지 않고 뷰를 재사용 할 수 있다)
[3/16] The Course Github Repository
[4/16] Compare and Constrast Custom Text Field, Quiz
: 세가지 텍스트 필드 특징 비교
[5/16] Introducing Protocols
Delegate pattern의 핵심은 View가 답변해야 할 질문을 설정하고
프로토콜에서 질문들을 인코딩하는 것 입니다.
여기서 프로토콜은 delegate가 구현해야 하는 메서드의 목록입니다.
[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(_:)
[9/16] Diagramming the Text Field App
[9/16] Diagramming the Text Field App
4
5
6
7
[10/16] A Look at the other Two Delegates, Quiz
: 두 Delegate의 구현 차이점
Emoji는 텍스트 필드 안을 처음으로 탭 하면 기존 텍스트가 지워집니다(textFieldDidBeginEditing(_:))
둘 다 텍스트 필드 내용이 바뀌면 변화가 일어납니다(textField(_:~~~))
colorize는 리턴 키를 누르면 키보드가 닫힙니다(textFieldShouldReturn(_:))
[11/16] Creating A Random Color Delegate
: Delegate 파일 만들기, 사용하기
[12/16] Random Color Delegate Code : RandomColorTextFieldDelegate.swift 파일 코드
방식은 단순합니다.
7개의 색이 담긴 배열에서 하나의 색을 가리키는 인덱스를 뽑아 textColor에 반영시킵니다.
[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 입니다.