2016-06-07 2 views
0

NSWindowController의 여러 인스턴스가 있습니다. NSWindowController는 편집이 발생할 때마다 수신 대기 알림을 등록합니다.NSNotification 듣기

이제 windowcontroller의 한 인스턴스에서 무언가를 편집하면 알림이 게시되고 해당 NSWindowcontroller의 모든 인스턴스가 해당 알림을 수신하지만 수신 대기하도록 세부 정보를 업데이트 한 인스턴스 만 필요합니다.

어떻게하면됩니까? 매개 변수 object에 대한 [NSNotificationCenter addObserver:selector:name:object:] 방법에 대한 설명서에서 언급 한 바와 같이

+0

사용 NSNotificationCenter 및 NSWindowController의 유형을 통과 특정 인스턴스를 업데이트받을 수 있도록 –

답변

1

:

그 관찰자 수신하고자하는 통지 객체; 즉, 이 보낸 사람이 보낸 알림 만이 관찰자에게 배달됩니다. nil을 전달하면 알림 센터에서 알림의 보낸 사람을 사용하여이를 관찰자에게 전달할지 여부를 결정하지 않습니다.

따라서 self을 객체로 전달하십시오.
E.G.

알림 등록 :

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(someSelector:) 
               name:@"SomeNotification" 
               object:self]; // <- SELF!! 

게시 알림 :

[[NSNotificationCenter defaultCenter] postNotificationName:@"SomeNotification" 
                  object:self //<- SELF!! 
                  userInfo:nil];