문서 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html 보낸 사람과 알림 이름에 대해 이야기하지만이 사람에게이 알림을 게시 할 사람은 누구입니까?NSnotificationCenter postNotificationName 수신자가 누구입니까?
1
A
답변
3
다른 사람에게 직접 알림을 게시하지 마십시오. 알림의 이름과 보낸 사람이 알림을받는 사람을 결정합니다.
관심있는 개체는 알림을 구독 할 수 있습니다. 알림을 게시하면 해당 이름으로 알림을 듣고있는 모든 구독자에게 알림이 전송됩니다.
- 알림 이름 (문자열)
- 보낸 사람
class documentation는 명확하게 보여 실제로 코코아 알림은 두 가지 수준에서 불통 될 수있다.
여기에 만들 때 사용 된 것을 통지 이름과 보낸 사람에 따라 통지 할 사용자를 보여주는 문서에서 약간의 ASCII 테이블이다 :
지정되지 않은Notification name | Notification sender | Notification set specified -------------------------------------------------------------------- Specified | Specified | Notifications with a particular name from a specific sender. Specified | Unspecified | Notifications with a particular name by any sender. Unspecified | Specified | Notifications posted by a specific sender. Unspecified | Unspecified | All notifications.
은 전무 값이 해당 필드에 대해 제공되었음을 의미합니다.
알림을 사용하면 느슨하게 결합 된 디자인을 구현할 수 있습니다. 이는 객체가 구현시 함께 묶이지 않고 서로 독립적으로 작동 할 수 있기 때문입니다.
1
notification
은 메커니즘 인 입니다. doc에서 알 수 있듯이 "객체는 addObserver : selector : name : object : 또는 addObserverForName : object : queue : usingBlock : methods"를 사용하여 알림 센터 (NSNotification 객체)에 알림 센터에 등록됩니다. 즉, 관심있는 모든 객체는 청취자으로 등록 할 수 있습니다.
관련 문제
- 1. NSNotificationCenter 및 ASIHTTPRequest
- 2. iOS 3.2에서 NSNotificationCenter 관련 크래시
- 3. NSNotificationCenter 알림이 전송되지/
- 4. NSNotificationCenter 질문
- 5. NSNotificationCenter 선택기가 NSNotification과 함께 작동하지 않습니다.
- 6. 애플 리케이션 간의 Cocoa NSNotificationCenter 통신에 실패했습니다.
- 7. MFMailComposeViewController와 같은 수신자가 선택합니까?
- 8. NSNotificationCenter with arguments
- 9. NSNotificationCenter 선택기 인수
- 10. 보낸 SMS 메시지 수신자가 있습니까?
- 11. KVO 관측 대 NSNotificationCenter 관측
- 12. NSNotificationCenter 보낸 사람 같음 기준
- 13. NSNotificationCenter 및 UITabBar 응용 프로그램
- 14. NSNotificationCenter 대 위임 (프로토콜 사용)?
- 15. 테스트를 작성해야하는 사람은 누구입니까?
- 16. GIT의 상용 사용자가 누구입니까?
- 17. 테스트 대상은 누구입니까?
- 18. IronJS를 사용하는 사람은 누구입니까?
- 19. Griffon을위한 자료는 누구입니까?
- 20. CouchDB를 사용하는 사람은 누구입니까?
- 21. 달빛을 사용하는 사람은 누구입니까?
- 22. 주요 활동 호출 의도와 원래 수신자가 사망했습니다.
- 23. 브로드 캐스트 수신자가 ServiceState 정보를 얻습니다.
- 24. 브로드 캐스트 수신자가 트리거를 수신하지 않음 알람
- 25. sendmail 오류 452 수신자가 너무 많습니다.
- 26. NSNotificationCenter 수신 이벤트 메소드가 여러 번 실행 중입니다
- 27. NSNotificationCenter : pass 2 클래스 간의 알림
- 28. 수퍼 클래스의 NSNotificationCenter 수신기 메서드를 재정의하는 방법?
- 29. NSNotificationCenter 대 사용자 정의 관찰자 프로토콜
- 30. NSNotificationCenter 코드는 iPhone에서 작동하지만 iPad에서는 작동하지 않습니다.
설명해 주시겠습니까? "알림은 느슨하게 결합 된 디자인을 허용합니다. 객체가 구현시 함께 묶이지 않고 서로 독립적으로 작업 할 수 있기 때문입니다." – Namratha
또한 addObserver : selector : name : object : selector 매개 변수를 이해하지 못했습니다. 설명 해주십시오. – Namratha
'A'와 'B'두 클래스가 있고 어떤 이벤트가 발생할 때마다 'A'의 객체는 'B'의 객체를 알릴 필요가 있다고 가정 해 봅시다. 알림이 없으면, 우리는'A'의 어떤 메소드에서 직접'B'의 메소드를 직접 호출 할 수 있습니다. 따라서 두 클래스를 모두 묶어서 딱딱한 의존성을 만듭니다. 알림을 사용하면 'A'는 알림 관리자에게 이벤트가 발생했음을 방금 알릴 수 있고 'B'가 * listening *이면 이벤트를 알립니다. 그렇지 않다면, 그 사건은 단지 눈치 채지 않게됩니다. 그러나이 경우 두 클래스를 하나로 묶지 않았습니다. – Anurag