A notification dispatch mechanism that enables the broadcast of information to registered observers.
등록된 Observers에 정보의 전달을 허용하는 notification dispatch mechanism이다.
class NotificationCenter : NSObject
모든 객체들은 addObserver메서드를 이용하여 알림들(NSNotifcation Objects)을 받기 위해 notification center에 Observer로 등록할 수 있다.
객체를 observer로 등록하면, 그것이 받아야 하는 알림에 따라 구분된다.
그래서 하나의 객체에 여러 개의 다른 알림들을 받도록 만들기 위해 addObserver를 여러번 호출해줄 수도 있다.
앱들은 저마다의 default notification center를 가지는데, 특정 contexts에서 통신을 조직화하기 위해 새로운 notification center를 만들 수 있다.
다음으로, notification center는 단일 프로그램에서만 알림을 전달할 수 있다. 만약 알림을 다른 process에 전달하거나 받고 싶다면 DistributedNotifcationCenter를 대신 사용해야 한다.
default notification center
앱으로 보내진 모든 시스템 알림들은 default notification center에 보내진다. 우리는 커스텀한 알림도 여기에 보낼 수 있다. 알림의 종류는 OS에서 보낸 알림과 우리가 커스텀한 알림 두 가지로 나눌 수 있다. 익히 봐온keyBoardDidChangeFrame, textDidBeginEditing도 OS에서 보낸 알림의 일종이다.
이미 존재하는 알림들의 이름을 알고 싶다면, 여기를 참고하면 된다!
만약 앱이 notifcaitons를 과도하게 사용하면, default notification center에만 알림을 보내기 보다는 커스텀 notification center를 만들고 싶을 것이다. 알림이 notification center에 전달되면, notification center는 리스트에서 등록된 옵저버들을 훑고 적절한 observer를 찾아낸다. 옵저버들은 앱의 전역에서 등록되기 때문에 notification center를 통해 마찬가지로 전역적 소통이 가능해진다.
알림들을 하나 또는 여러개의 centers를 구성하여 조직화하면, notification이 post될 때 더 적은 일이 수행되고, 앱 전반적인 성능을 향상시킬 수 있다.
알림을 보내는 방법
아래의 post 메서드를 통해서 알림을 생성하고, notification center로 발송할 수 있다.
Notification Center
개발자 문서
등록된 Observers에 정보의 전달을 허용하는 notification dispatch mechanism이다.
모든 객체들은 addObserver메서드를 이용하여 알림들(NSNotifcation Objects)을 받기 위해 notification center에 Observer로 등록할 수 있다. 객체를 observer로 등록하면, 그것이 받아야 하는 알림에 따라 구분된다. 그래서 하나의 객체에 여러 개의 다른 알림들을 받도록 만들기 위해 addObserver를 여러번 호출해줄 수도 있다.
앱들은 저마다의
default notification center
를 가지는데, 특정 contexts에서 통신을 조직화하기 위해 새로운 notification center를 만들 수 있다.다음으로, notification center는 단일 프로그램에서만 알림을 전달할 수 있다. 만약 알림을 다른 process에 전달하거나 받고 싶다면
DistributedNotifcationCenter
를 대신 사용해야 한다.default notification center
앱으로 보내진 모든 시스템 알림들은 default notification center에 보내진다. 우리는 커스텀한 알림도 여기에 보낼 수 있다. 알림의 종류는 OS에서 보낸 알림과 우리가 커스텀한 알림 두 가지로 나눌 수 있다. 익히 봐온
keyBoardDidChangeFrame
,textDidBeginEditing
도 OS에서 보낸 알림의 일종이다. 이미 존재하는 알림들의 이름을 알고 싶다면, 여기를 참고하면 된다!만약 앱이 notifcaitons를 과도하게 사용하면, default notification center에만 알림을 보내기 보다는 커스텀 notification center를 만들고 싶을 것이다. 알림이 notification center에 전달되면, notification center는 리스트에서 등록된 옵저버들을 훑고 적절한 observer를 찾아낸다. 옵저버들은 앱의 전역에서 등록되기 때문에 notification center를 통해 마찬가지로 전역적 소통이 가능해진다.
알림들을 하나 또는 여러개의 centers를 구성하여 조직화하면, notification이 post될 때 더 적은 일이 수행되고, 앱 전반적인 성능을 향상시킬 수 있다.
알림을 보내는 방법
아래의 post 메서드를 통해서 알림을 생성하고, notification center로 발송할 수 있다.
위와 같이 object와 userInfo 모두 언래핑하여 사용할 수 있고, 동시에 사용할 수 있다.
Notification Center의 사용
연결이 어려운 두 개 이상의 컴포넌트 사이의 데이터 전달이나 상호작용이 필요할 때 상호작용이 연속적 또는 지속적으로 이루어져야 할 때 일대다 또는 다대다 통신을 해야할 때