NSNotificationCenter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
애플리케이션에 대한 알림 허브입니다.
[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
inherit NSObject
- 상속
- 파생
- 특성
설명
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이 아닌 경우 |
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 배열을 |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
개체에 적합한 개체의 UIAccessibilityCustomRotor 배열을 |