iOS 의 알림 메커니즘

인터넷 에서 흔히 iOS 의 알림 체 제 는 관찰자 모드 를 사 용 했 는데 그 안에 두 가지 역할 이 있 는데 하 나 는 포스터(발송 자)이 고 다른 하 나 는 observer(정 보 를 받 는 구독 자)이다.그러나 중요 한 역할 은 알림 센터 라 고 생각 합 니 다.전체 알림 체제 의 핵심 입 니 다.포스터 발송 자가 보 낸 메 시 지 는 반드시 알림 센터 에 도착 해 야 합 니 다.그리고 알림 센터 에서 이 소식 에 따라 어떤 observer 구독 자 에 게 구독 되 었 는 지 에 따라 메 시 지 를 구독 자 에 게 나 누 어 보 냅 니 다.전체적으로 현재 의 이메일 구조 와 비교 할 수 있다.
그러나 추가 적 으로 설명해 야 한다.iOS 의 알림 도 Notification 알림 이 라 고 하지만 안 드 로 이 드 의 알림 과 는 다르다.안 드 로 이 드 에서 의 알림 은 메시지 푸 시 형식 이 고 iOS 에서 도 메시지 푸 시 가 있 을 것 이다.이것 이 바로 푸 시 메커니즘 의 내용 이다.이 알림 체 제 를 말 하 는 것 은 원래 C\#를 배 울 때의 사건 입 니 다.다만 이곳 의 사건 은 전체 시스템 의 전체 사건 에 대해 어느 한 측 이 시스템 의 이 전체 사건 에 바 인 딩 방법 을 등록 하고 사건 이 발생 할 때 실 행 될 수 있 습 니 다.
전체 알림 의 작업 절 차 는 포스터 와 observer 만 설정 하면 됩 니 다.
포스터 의 조작 이 비교적 간단 하 므 로 그 는 통지 센터 에 통 지 를 미 루 기만 하면 된다.아래 의 코드 를 사용한다.

[[NSNotificationCenter defaultCenter] postNotificationName:@”PostOne” object:@”This is posterone”];
혹은

[[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:@”PostOne” object:@”This is posterone”]];
NotificationWithName:object:방법 중 하 나 는 userInfo:인자 가 있 습 니 다.이것 은 NSDictionary 사전 형식 으로 사용자 인 자 를 전달 하 는 데 사 용 됩 니 다.
Observer 에 대해 서 는 포스터 만큼 간단 하지 않 습 니 다.C\#에서 이벤트 등록 바 인 딩 을 할 때 도 이 벤트 를 촉발 하 는 것 은 호출 방법 처럼 호출 하면 됩 니 다.그러나 그 쪽 을 등록 하려 면 이벤트 바 인 딩 방법 이 필요 하고 방법 도 정의 해 야 합 니 다.iOS 의 알림 체제 에 서 는 등록,리 셋 처리(이벤트 의 방법 정의)가 필요 합 니 다.다 쓰 고 지 워 야 돼.
책.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callBack1:) name:@”PostOne” object: nil]; 
이 매개 변 수 는 post NotificationName:object:와 대응 합 니 다.알림 name 인 자 를 등록 하면 해당 하 는 값 을 입력 합 니 다.
리 셋 처리

-(void) callBack1(NSNotification*)notification
{
notification.name://     
notification.object;//      object
notification.userInfo//      userInfo
}
삭제
메 시 지 를 사용 한 후 삭제 작업 이 필요 합 니 다.

[[NSNotificationCenter defaultCenter]removeObserver: self];//          
[[NSNotificationCenter defaultCenter]removeObserver:self name:@”PostOne“ object:nil];//     ”PostOne“   
보충:
ios 에서 관찰자 모드 와 알림 메커니즘,그리고 KVO
ios 개발 에서 알림 체제 와 KVO 는 모두 관찰자 모델 에 의 해 이 루어 진다.통지 메커니즘 과 KVO 의 차이 점 은 전 자 는 하나의 중심 대상 으로 모든 관찰자 에 게 변경 통 지 를 제공 하고 후 자 는 피 관찰 대상 이 관찰자 에 게 직접 통 지 를 보 내 는 것 이다.
다음은 관찰자 모델 과 알림 메커니즘 의 실현 에 주목한다.
1.관찰자 모드 에서 Subject 대상 은 목표 대상 이 라 고도 할 수 있 고 알림 의 발표 자 이자 피 관찰자 이다.등록 과 취소 방법 제공;Observer 대상 은 관찰자 라 고도 할 수 있 으 며 알림 구독 자 입 니 다.Observer 클래스 에서 Subject 를 알 게 되 어 알림 을 받 을 수 있 습 니 다.
2.ios 의 알림 체 제 는 Cocoa Touch 프레임 워 크 가 개발 자 를 위해 개발 한 유형 으로 개발 자가 스스로 관찰자 모델 을 쓰 지 않 고 사용 하면 실현 할 수 있 습 니 다.나 에 게 통지 메커니즘 의 모든 사용 은 한 종류 에 집중 되 어 있다.그래서 저 는 알림 체제 로 관찰자 모델 을 이해 할 때 Subject 와 Observer,누가 알림 의 발송 자 인지 헷 갈 렸 습 니 다.왜냐하면 유형 에 관찰자 와 발송 자가 집결 되 었 기 때 문 입 니 다.

좋은 웹페이지 즐겨찾기