NSNotificationCenter, notifications, and observers
차가 고장나서 카센터에 수리를 맡겨 두었다. 우리는 수리가 다 되었는지 매일 전화해서 확인하는 대신 수리가 끝났다는 알림을 받고 차를 찾으러 간다.
iOS 에서 이러한 역할을 하는 객체가 Notification 이다.
iOS 에서도 “앱이 포어그라운드라 진입했다” 든지 “디바이스의 메모리가 부족하다" 등 여러가지 이벤트가 발생할 수 있다.
NotificationCenter 는 이러한 이벤트를 듣고 있는 모든 청취자에게 방송하는 책임을 맡는다.
바꿔 말하면 “리스닝하는 객체에 브로드캐스팅한다.”

이때 이벤트에 반응하는 객체를 ‘옵저버(Observer)’라고 하고 이렇게 이벤트를 감시하는 방식으로 디자인 하는 방법을 ‘옵저버 패턴(Observer Pattern)' 이라고 한다. iOS 에서는 NotificationCenter 를 이용하여 옵저버패턴을 구현한다.