An object containing information broadcast to registered observers that bridges to Notification; use NSNotification when you need reference semantics or other Foundation-specific behavior.
1. 방송국과 방송 이름 만들기
//방송국
let notificationCenter: NotificationCenter = .default
//방송이름
let didGameFinish: Notification.Name = Notification.Name("끝")
방송국을 만들 때 .default는 앱에서 전역적으로 사용될 수 있다는 의미
2. 방송을 받아서 전달하는 창구 역할의 메소드 만들기
@objc
func didRecieveGameFinish() {
// 임무완료 후 이벤트를 알림 받음
finishedGameCount = finishedGameCount + 1
}
3. 방송이 뿌려지면 받을 것이라는 설정을 방송을 받는 메소드의 이니셜라이저를 통해서 한다. 마치 구독신청..
→ name이라는 방송이 송출이 되면 #selector에 쓰여져 있는 메소드를 통해서 나에게 알려줘!
notificationCenter.addObserver(self, selector: #selector(didRecieveGameFinish),
name: didGameFinish, object: nil)
4. 방송을 보낼 함수 내에서 필요 기능 실행을 끝낸 뒤 방송 송출을 요청한다.
notificationCenter.post(name: didGameFinish, object: nil)
99. deinit을 통한 구독취소
notificationCenter.removeObserver(self)