[Swift] NotificationCenter

Uno·2021년 4월 28일
0

Tip-Swift

목록 보기
5/26
  • Path: Foundation > Notifications > NotificationCenter

코드를 보시는게 이해가 빠르시다면 아래 GitHub 링크에서 프로젝트 다운로드하시면 됩니다.
https://github.com/kipsong133/MoyaStudyProject/tree/main/NotificationCenterStudyProeject

애플 공식문서자료

### Class
# NotificationCenter
A notification dispatch mechanism that enables the broadcast of infomation to registered observers.
= 등록된 관찰자에게 정보를 알려줄 수 있는 알림 발송 매커니즘 클래스 입니다.
  • 정의
class NotificationCenter: NSObject
  • 개요
    객체는 알림을 받기 위해서 알림센터에 등록합니다. 등록할 때 사용하는 메소드는
    addObserver(_:selector:name:object:)
    addObserver(forName:object:queue:using) 입니다.
    객체가 관찰자로 등록되었다면, 알림을 받도록 설정된 것입니다.
    하나의 객체가 여러번 이 메소드를 호출 할 수 있습니다.(관찰자로서)
    -> 하나의 객체에 여러가지의 값이나 객체에 대해서 관찰자가 될 수 있음을 말하는 것 같네요.

앱을 실행할 때, 앱에 각각의 알림센터를 가지고 있습니다. 물론 Default 설정으로 가지고 있겠죠. 그리고 알림센터를 상황에 맞게 커스터마이징 하는 것이 가능합니다.
-> 알림센터는 앱 실행할 때마다 새롭게 호출되는데, 기본값으로 된 상태로 호출이 된다. 그렇지만 커스터마이징 하고 싶으면 커스터마이징이 가능하다. 라는 뜻정도로 이해할 수 있을 것 같네요.

하나의 알림센터는 오직 하나의 프로그램에만 알림을 전달 할 수 있습니다. 그러니까 알림센터에서 여러가지 프로그램에 알림을 줄 수 없다는 거죠. 만약에 다른 프로세스에 알림을 등록하고 싶거나 알림을 받고 싶다면
DistributedNotificationCenter 를 사용하라고 합니다.

참고자료)


https://jiseobkim.github.io/swift/2018/10/27/swift-NotificationCenter.html
이분의 예시가 정말 잘 와닿아서 옮겨봅니다.

NotificationCenter: (무언가 액션이 발생했다면) “이 액션이 진행되었으니 담당자들은 처리바람”
Observer: 수신양호, 처리하겠음.

profile
iOS & Flutter

0개의 댓글