NotificationCenter 동작 방식과 활용 방안에 대해 설명하시오.
by 사슴비행기NotificationCenter 동작 방식
등록된 모든 Observer에게 정보를 전달하는 매커니즘.
Observer(Listener) : Notification을 관찰 감지
Sender : 필요 시 Notification을 해당 Observer에게 보냄
itself : NotificationCenter 그 자체
==> 먼저, 옵저버를 등록하면, 등록된 옵저버가 관찰하면서 변경사항이 발생하면 Sender가 등록된 옵저버에 알림을 보내고, 옵저버 등록 시 설정한 메서드가 실행된다.
1. 옵저버 등록
2. 옵저버는 관찰 시작
3. (옵저버 등록 시 설정한) 특정 작업이 발생 시 Sender가 Post
4. (옵저버 등록 시 설정한) Observer selector 실행
NotificationCenter.default.addObserver(self, selector: #selector(handleNoti(_:)), name: myNoti, object: nil)
NotificationCenter.default.post(name: "myNoti", object: "전달할 값")
사용예시
* 1번 화면에서 다운로드를 실행하고 2번 화면으로 넘어갔을 때 다운로드가 완료되면, 다운로드 알림 팝업을 띄울 수 있다.
* 서버에서 데이터를 내려 받고 완료 시, 화면을 reflash 할 수 있다.
* 키보드가 화면을 가릴 때 post를 보내서 스크롤를 움직여서 가림 현상을 막을 수 있다.
참고:
'ios > 면접질문 공부' 카테고리의 다른 글
Delegate란 무언인가 설명하고, retain 되는지 안되는지 그 이유를 함께 설명하시오. (0) | 2024.01.12 |
---|---|
Foundation Kit은 무엇이고 어떤 클래스들이 포함되어있는지 설명하세요. (0) | 2024.01.09 |
앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있나요? (2) | 2024.01.02 |
@main에 대해서 설명하시오. (2) | 2024.01.02 |
앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는 무엇인가? (0) | 2023.12.30 |
블로그의 정보
Beautiful Coding
사슴비행기