Notification
노티피케이션을 통해 등록된 노티피케이션에 정보를 전달하기 위한 구조체
Notification Center
- 등록된 옵저버에게 동시에 노티피케이션을 전달하는 클래스
- NotificationCenter 클래스는 노티피케이션을 발송하면 노티피케이션 센터에서 메세지를 전달한 옵저버의 처리할 때까지 대기
- 흐름이 동기적(synchronous)
- 노티피케이션을 비동기적으로 사용하려면 NotificationQueue를 사용
Notification.Name(_:~~) --> 노티피케이션을 식별하는 태그
Notification.default.post(_:~~) --> 노티피케이션을 노티피케이션 센터에 발송
Notification.default.addObserber ::
-
addObserver(forName:object:queue:using:) : 노티피케이션을 노티피케이션 대기열(Queue)과 대기열(Queue)에 추가할 블록(스위프트의 클로저), 노티피케이션 이름을 노티피케이션 센터의 메서드를 가리키는 장소(디스패치 테이블, Dispatch Table)에 이름을 추가합니다. 여기서 object에 특정 객체를 명시하면 명시한 객체가 발송한 노티피케이션일 때에만 해당 이름의 노티피케이션을 수신
- addObserver(_:selector:name:object:) : 노티피케이션을 노티피케이션 센터의 메서드를 가리키는 장소에 이름을 추가
-
removeObserver(_:name:object:) : 노티피케이션 센터의 메서드를 가리키는 장소에서 일치하는 이름을 제거
- removeObserver(_:) : 노티피케이션 센터의 메서드를 가리키는 장소에서 모든 이름을 제거
반응형
'Programming > iOS' 카테고리의 다른 글
[iOS]Dispatch Queue (0) | 2020.10.14 |
---|---|
[iOS]동시성 프로그래밍과 비동기 프로그래밍 (0) | 2020.10.11 |
[iOS] 팝업모달 만들기 (0) | 2020.09.22 |
[iOS] UIKit에 대해 알아보기 (0) | 2020.09.19 |
[iOS] 프로토콜 (0) | 2020.09.17 |