반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- linux
- swift 클로저
- Swift
- 쿠버네티스
- ios
- 데브옵스
- 리눅스
- os
- centOS7
- 컨테이너
- 프로세스
- k8s
- C++
- 도커 컨테이너
- Python
- boj
- 도커
- NGINX
- 운영체제
- 네트워크
- AWS
- 클라우드
- kubernetes
- devops
- 도커 명령어
- docker
- 도커 이미지
- 부스트코스
- centOS
- 인프라
Archives
- Today
- Total
귀염둥이의 메모
[iOS] Delegate(델리게이트) 패턴 본문
반응형
Delegate의 뜻
- [명사] 대표(자), 위임, 대리(자)
- [동사] (권한, 업무 등을)위임하다
Delegation Design Pattern
- Foundation, UIKit, AppKit 그리고 Cocoa Touch 등 애플의 프레임워크에서 광범위하게 활용하고 있다.
- 주로 프레임워크 객체가 위임을 요청하며, 커스텀 컨트롤러 객체가 위임을 받아 특정 이벤트에 대한 기능을 구현한다.
- 커스텀 컨트롤러에서 세부 동작을 구현함으로써 동일한 동작에 대해 다양한 대응을 할 수 있게 해준다.
Delegate는 어떤 객체가 해야할 일을 부분적으로 확장해서 대신 처리를 해준다.
예제 (TextField)
1) Delegate 사용 X
Click 버튼을 누르면 라벨의 텍스트를 내가 현재 쓴 TextField안의 값으로 나타내도록 하였다.
2) Delegate 사용
UITextFieldDelegate 프로토콜을 확장해준다.
viewDidLoad()에 위임자(대리자)가 누구인지 알려준다.
textField.delegate = self
- "textField (UITextField 객체)가 해야할 부분을 내가(self) 처리한다."
- self는 현재 class인 ViewController
- 대신 처리해야할 위임자가 뷰컨트롤러이다.
- 뷰컨트롤러에서 UITextFieldDelegate 프로토콜의 메소드를 구현해서 처리를 한다.
UITextFieldDelegate 프로토콜에 있는 메소드인 textFieldShouldReturn을 뷰컨트롤러에 불러와서 구현할 것 이다.
(textFieldShouldReturn는 키보드 return키가 눌리면 호출되는 메소드이다.)
뷰컨트롤러가 해당 메소드를 대신 처리해준다.
키보드 return키가 눌리면 Label이 TextField값으로 바뀌게 해준다.
<참고자료>
반응형
'iOS' 카테고리의 다른 글
[iOS] ViewController의 Life-Cycle(생명주기) (0) | 2021.03.11 |
---|---|
[iOS] Singleton(싱글턴) 패턴 (1) | 2021.03.10 |
[iOS] Cocoa Touch Framework, 코코아 터치 프레임워크(UIKit, Foundation) (0) | 2021.03.08 |
[iOS] MVC 디자인 패턴 (0) | 2021.03.08 |
[iOS] iOS의 뷰(View) 체계 (0) | 2021.02.10 |
Comments