다음을 통해 공유


NSNotificationCenter 클래스

정의

애플리케이션에 대한 알림 허브입니다.

[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
    inherit NSObject
상속
NSNotificationCenter
파생
특성

설명

NSNotificationCenter는 애플리케이션에서 브로드캐스트 메시지를 수신 대기하고 브로드캐스트 메시지를 게시하는 데 사용되는 허브입니다. 게시된 메시지는 동기적입니다.

NSNotificationCenter.DefaultCenter는 흥미로운 시스템 수준 이벤트에 대한 시스템 알림이 게시되는 애플리케이션에서 중앙 역할을 합니다.

알림을 게시하는 것은 동기 프로세스입니다. 즉, 알림 센터에서 Post 메시지 중 하나를 호출하면 모든 알림 처리기 실행이 완료될 때까지 실행이 차단됩니다.

알림은 원치 않는 영향을 줄 수 있는 호출 스레드와 동일한 스레드에 게시됩니다. 백그라운드 스레드에서 알림을 전달해야 하는 경우 메서드를 BeginInvokeOnMainThread(Action) 사용하여 게시를 주 스레드에서 호출되는 대리자로 래핑합니다.

알림을 구독할 때 알림 이름을 지정하여 특정 종류의 알림만 구독할 수 있습니다(또는 알림 센터에 게시된 모든 알림을 수신 대기하려면 null). 특정 개체에서 발급한 알림만 구독할 수도 있습니다. 수신된 알림의 양을 필터링하는 데 사용할 수 있습니다.

알림은 일반적으로 일부 클래스에서 호스트되는 NSString 필드입니다. 예를 들어 Objective-C UITextViewTextDidChangeNotification은 UITextView TextDidChangeNotification클래스에 로 있습니다. 편의를 위해 C# 문자열을 사용하는 오버로드가 있습니다.

알림을 등록하려면 AddObserver 메서드를 사용할 수 있습니다. 대리자, 람다 및 메서드를 코드에 직접 연결할 수 있으므로 이러한 메서드의 C# 버전을 사용하는 것이 좋습니다. 이 클래스에서 Action<NSNotification;> 매개 변수를 사용하는 AddObserver 메서드를 사용하면 AddObserver가 토큰을 반환합니다. 이 토큰은 특정 이벤트 수신 대기를 중지하려는 경우 RemoveNotification에 대한 매개 변수로 사용됩니다.

NSObject notificationToken;

void Setup ()
{
	notificationToken = NSNotificationCenter.DefaultCenter.AddObserver (FooBar.ClockNotification, OnClockChange);
}

void OnClockChange (NSNotification notification)
{
	Console.WriteLine ("The ClockNotification message was posted");
}

void Teardown ()
{
	NSNotificationCenter.DefaultCenter.RemoveObserver (notificationToken);
}

MonoTouch 5.4부터 반환된 알림 토큰에서 Dispose를 호출하면 관찰자도 제거되어 코드가 짧아질 수 있습니다. 예를 들면 다음과 같습니다.

NSObject notificationToken;

void Setup ()
{
	notificationToken = NSNotificationCenter.DefaultCenter.AddObserver (FooBar.ClockNotification, OnClockChange);
}

void OnClockChange (NSNotification notification)
{
	Console.WriteLine ("The ClockNotification message was posted");
}

void Teardown ()
{
	notificationToken.Dispose ();
}

마찬가지로 개체가 System.IDisposable(에서 파생된 개체 포함)을 구현하는 경우 함수에서 NSObjectDispose 또는 notificationToken.Dispose() 을 호출 RemoveObservers(IEnumerable<NSObject>) 해야 합니다.

class MyClass : NSObject
{
      private NSObject notificationToken; 

      MyClass()
      { 
         notificationToken = NSNotificationCenter.DefaultCenter.AddObserver(notificationName, NotificationHandler);
      }

      void NotificationHandler(NSNotification notification)
      {
         // ... etc ...
      }

      private bool disposed = false;
      override protected void Dispose(bool disposing)
      {
         if (!disposed)
         {
               if (disposing)
               {
                  notificationToken.Dispose();
               }
               disposed = true;
               base.Dispose();
         }
      }
}

생성자

NSNotificationCenter()

매개 변수 없이 이 클래스의 새 인스턴스를 초기화하는 기본 생성자입니다.

NSNotificationCenter(IntPtr)

관리되지 않는 개체의 관리 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

NSNotificationCenter(NSObjectFlag)

초기화를 건너뛰고 개체만 할당하기 위해 파생 클래스에서 를 호출하는 생성자입니다.

속성

Class

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
ClassHandle

이 클래스의 핸들입니다.

DebugDescription

이 개체에 대한 개발자 의미 있는 설명입니다.

(다음에서 상속됨 NSObject)
DefaultCenter

기본 알림 센터, 시스템 알림 및 시스템 수준 이벤트가 이 알림 센터에 게시됩니다.

Description

개체, ToString의 Objective-C 버전에 대한 설명입니다.

(다음에서 상속됨 NSObject)
Handle

관리되지 않는 개체 표현에 대한 핸들(포인터)입니다.

(다음에서 상속됨 NSObject)
IsDirectBinding

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
IsProxy

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
RetainCount

개체에 대한 현재 Objective-C 보존 수를 반환합니다.

(다음에서 상속됨 NSObject)
Self

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Superclass

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
SuperHandle

이 NSObject에 대한 기본 클래스의 메서드를 나타내는 데 사용되는 핸들입니다.

(다음에서 상속됨 NSObject)
Zone

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)

메서드

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

외부에서 관찰될 개체를 등록합니다(NSString keyPath 사용).   관찰된 변경 내용은 관찰자의 개체 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 메서드로 디스패치됩니다.

(다음에서 상속됨 NSObject)
AddObserver(NSObject, Selector, NSString, NSObject)

하위 수준 추가 관찰자 API

AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

외부에서 관찰될 개체를 등록합니다(문자열 keyPath 사용).   관찰된 변경 내용은 관찰자의 개체 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 메서드로 디스패치됩니다.

(다음에서 상속됨 NSObject)
AddObserver(NSString, Action<NSNotification>)

지정된 알림에 대한 관찰자 추가

AddObserver(NSString, Action<NSNotification>, NSObject)

지정된 알림에 대한 관찰자 추가

AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

임의 메서드를 사용하여 외부에서 관찰되는 개체를 등록합니다.

(다음에서 상속됨 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

임의 메서드를 사용하여 외부에서 관찰되는 개체를 등록합니다.

(다음에서 상속됨 NSObject)
AddObserver(String, NSObject, NSOperationQueue, Action<NSNotification>)

애플리케이션에 대한 알림 허브입니다.

AwakeFromNib()

개체가 nib 파일에서 로드된 후 호출됩니다. 재정의자는 base를 호출해야 합니다. AwakeFromNib().

(다음에서 상속됨 NSObject)
BeginInvokeOnMainThread(Action)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

주 UI 스레드에서 지정된 코드를 비동기적으로 호출합니다.

(다음에서 상속됨 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Bind(String, NSObject, String, NSDictionary)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
BindingInfo(String)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
BindingOptionDescriptions(String)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
BindingValueClass(String)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
CommitEditing()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
ConformsToProtocol(IntPtr)

이 개체가 지정된 프로토콜을 구현하는지 확인하기 위해 호출됩니다.

(다음에서 상속됨 NSObject)
Copy()

기본 Objective-C 개체의 복사본을 수행합니다.

(다음에서 상속됨 NSObject)
DangerousAutorelease()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
DangerousRelease()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
DangerousRetain()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

다 대 다 관계에 대한 인덱스 변경이 발생했음을 나타냅니다.

(다음에서 상속됨 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
DidChangeValue(String)

지정된 키에서 변경이 발생했음을 나타냅니다.

(다음에서 상속됨 NSObject)
Dispose()

NSObject 개체에서 사용하는 리소스를 해제합니다.

(다음에서 상속됨 NSObject)
Dispose(Boolean)

NSObject 개체에서 사용하는 리소스를 해제합니다.

(다음에서 상속됨 NSObject)
DoesNotRecognizeSelector(Selector)

이 개체가 지정된 선택기를 인식하지 못했음을 나타냅니다.

(다음에서 상속됨 NSObject)
Equals(NSObject)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Equals(Object)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
ExposedBindings()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetBindingInfo(NSString)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetBindingOptionDescriptions(NSString)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetBindingValueClass(NSString)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

지정된 키의 값을 검색합니다.

(다음에서 상속됨 NSObject)
GetHashCode()

현재 인스턴스에 대한 해시 코드를 생성합니다.

(다음에서 상속됨 NSObject)
GetMethodForSelector(Selector)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetNativeField(String)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
GetNativeHash()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Init()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
InitializeHandle(IntPtr)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
InitializeHandle(IntPtr, String)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Invoke(Action, Double)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Invoke(Action, TimeSpan)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
InvokeOnMainThread(Action)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
InvokeOnMainThread(Selector, NSObject)

주 UI 스레드에서 지정된 코드를 동기적으로 호출합니다.

(다음에서 상속됨 NSObject)
IsEqual(NSObject)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
IsKindOfClass(Class)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
IsMemberOfClass(Class)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
MarkDirty()

일반 피어 개체(IsDirectBinding은 true임)를 toggleref 개체로 승격합니다.

(다음에서 상속됨 NSObject)
MutableCopy()

지정된 NSObject의 변경 가능한 복사본을 만듭니다.

(다음에서 상속됨 NSObject)
ObjectDidEndEditing(NSObject)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

이 개체를 기준으로 지정된 keyPath의 값이 변경되었음을 나타냅니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSObject)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSObject, Double)

현재 인스턴스에서 선택기를 호출하고 이 null이 아닌 경우 obj 이를 단일 매개 변수로 전달합니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSObject, NSObject)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
PostNotification(NSNotification)

해당 알림을 구독하는 모든 사용자에게 브로드캐스트되는 알림을 게시합니다.

PostNotificationName(String, NSObject)

애플리케이션에 대한 알림 허브입니다.

PostNotificationName(String, NSObject, NSDictionary)

애플리케이션에 대한 알림 허브입니다.

PrepareForInterfaceBuilder()

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
RemoveObserver(NSObject)

애플리케이션에 대한 알림 허브입니다.

RemoveObserver(NSObject, NSString)

지정된 관찰자가 지정된 keyPath에 대해 변경된 값에 대한 추가 알림을 받지 못하도록 합니다.

(다음에서 상속됨 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

지정된 관찰자가 지정된 keyPath 및 컨텍스트에 대해 변경된 값에 대한 추가 알림을 받지 못하도록 합니다.

(다음에서 상속됨 NSObject)
RemoveObserver(NSObject, String)

지정된 관찰자가 지정된 keyPath에 대해 변경된 값에 대한 추가 알림을 받지 못하도록 합니다.

(다음에서 상속됨 NSObject)
RemoveObserver(NSObject, String, IntPtr)

지정된 관찰자가 지정된 keyPath 및 컨텍스트에 대해 변경된 값에 대한 추가 알림을 받지 못하도록 합니다.

(다음에서 상속됨 NSObject)
RemoveObserver(NSObject, String, NSObject)

애플리케이션에 대한 알림 허브입니다.

RemoveObservers(IEnumerable<NSObject>)

한 번의 호출에서 여러 관찰자를 제거합니다.

RespondsToSelector(Selector)

이 개체가 지정된 선택기를 인식하는지 여부입니다.

(다음에서 상속됨 NSObject)
SetNativeField(String, NSObject)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
SetNilValueForKey(NSString)

지정된 키의 값을 null로 설정합니다.

(다음에서 상속됨 NSObject)
SetValueForKey(NSObject, NSString)

키로 지정된 속성의 값을 지정된 값으로 설정합니다.

(다음에서 상속됨 NSObject)
SetValueForKeyPath(IntPtr, NSString)

관리되지 않는 개체의 관리 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

(다음에서 상속됨 NSObject)
SetValueForKeyPath(NSObject, NSString)

keypath를 사용하여 연결할 수 있는 속성의 값을 설정합니다.

(다음에서 상속됨 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

정의되지 않은 키에 값을 쓰려는 시도를 나타냅니다. 재정의되지 않으면 NSUndefinedKeyException을 발생합니다.

(다음에서 상속됨 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

이 NSObject의 값을 지정된 사전의 값으로 설정합니다.

(다음에서 상속됨 NSObject)
ToString()

현재 인스턴스 값의 문자열 표현을 반환합니다.

(다음에서 상속됨 NSObject)
Unbind(NSString)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
Unbind(String)
사용되지 않음.

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
ValueForKey(NSString)

지정된 키와 연결된 속성의 값을 반환합니다.

(다음에서 상속됨 NSObject)
ValueForKeyPath(NSString)

keypath를 사용하여 도달할 수 있는 속성의 값을 반환합니다.

(다음에서 상속됨 NSObject)
ValueForUndefinedKey(NSString)

정의되지 않은 키의 값을 읽으려는 시도를 나타냅니다. 재정의되지 않으면 NSUndefinedKeyException을 발생합니다.

(다음에서 상속됨 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

지정된 키의 지정된 인덱스 값이 변경될 것임을 나타냅니다.

(다음에서 상속됨 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

애플리케이션에 대한 알림 허브입니다.

(다음에서 상속됨 NSObject)
WillChangeValue(String)

지정된 키의 값이 변경될 것임을 나타냅니다.

(다음에서 상속됨 NSObject)

확장 메서드

ObjectDidBeginEditing(NSObject, INSEditor)

애플리케이션에 대한 알림 허브입니다.

ObjectDidEndEditing(NSObject, INSEditor)

애플리케이션에 대한 알림 허브입니다.

GetValidModes(NSObject, NSFontPanel)

애플리케이션에 대한 알림 허브입니다.

ValidateToolbarItem(NSObject, NSToolbarItem)

애플리케이션에 대한 알림 허브입니다.

GetDebugDescription(INSObjectProtocol)

애플리케이션에 대한 알림 허브입니다.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

애플리케이션에 대한 알림 허브입니다.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

애플리케이션에 대한 알림 허브입니다.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

애플리케이션에 대한 알림 허브입니다.

GetAccessibilityCustomRotors(NSObject)

개체에 적합한 개체의 UIAccessibilityCustomRotor 배열을 this 가져옵니다.

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

개체에 적합한 개체의 UIAccessibilityCustomRotor 배열을 this 설정합니다.

적용 대상

추가 정보