Notification

Din의 개발노트·2021년 1월 13일
0

Notification


사운드와 함께 알림이 표시됨.
이런 것들이 노티피케이션

iOS앱 개발에서 사용할 수 있는 노티피케이션은 3가지입니다.

Notification -> 하나의 프로그램내에서 객체들이 주고받는 메세지입니다. 특정 이벤트에대한 옵져버를 등록하고 이벤트가 브로드캐스팅되면 원하는 코드를 실행하는 패턴을 구현할때 사용합니다. 시각적으로 표시되지 않음, 알림 x

기본으로 제공되는 Notification의 인스턴스는 default속성을 통해 얻을 수 있습니다.
Notification을 전달할 때는 post 메소드를 사용합니다.

NotificationCenter.default.post(name: NSNotification.Name, object: Any?, userInfo: [AnyHashable : Any]?)

name: NSNotification.Name 형식으로 전달해야 합니다.
object: Notification을 전달하는 객체를 전달해야 합니다.
userInfo: Notification과 연관된 데이터를 딕셔너리로 전달해야 합니다.

Obsever를 등록하는 방법
1. 특정 객체와 메소드를 옵저버로 등록하는 방법
2. 클로저를 옵저버로 등록하는 방법

어떤 방법을 사용했는가에 따라서 옵저버를 해제하는 방법이 달라지고 그에 따라서 전체적인 구현 패턴도 달라집니다.

NotificationCenter.default.addObserver(<observer: Any>, selector: Selector, name: NSNotification.Name?, object: Any?)

observer: 옵저버로 지정할 객체를 전달합니다.
selector: 실행할 메소드를 Selector로 전달해야 합니다.
name: observer가 처리할 notification의 이름을 전달합니다.
object: sender를 제한할때 사용

Local Notification -> 시계 알람처럼 지정된 시간에 사용자에게 알림을 전달할 때 사용합니다. 시각적으로 표시, 알림 사운드 o 사용자에게 허가를 받아야함

Remote Notification -> 페이스북,인스타그램에서 처럼 알림이 노는 것을 ,외부서버에서 오는 알림을 리모트 노티피케이션이라고함. 시각적으로 표시, 알림 사운드 o 사용자에게 허가를 받아야함

로컬, 리모트 -> User Notification을 통해 구현 iOS 10+에 도입

profile
iOS Develpoer

0개의 댓글