NSNotificationCenter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um hub de notificação para o aplicativo.
[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
inherit NSObject
- Herança
- Derivado
- Atributos
Comentários
O NSNotificationCenter é um hub usado para ouvir mensagens de transmissão e postar mensagens de transmissão em um aplicativo. As mensagens que são postadas são síncronas.
O NSNotificationCenter.DefaultCenter desempenha um papel central no aplicativo, pois é aqui que as notificações do sistema são postadas para eventos interessantes no nível do sistema.
Postar uma notificação é um processo síncrono, o que significa que invocar uma das mensagens Post no centro de notificações bloqueará a execução até que todos os manipuladores de notificação tenham concluído a execução.
As notificações são postadas no mesmo thread que o thread de chamada que pode ter efeitos indesejados. Se você precisar entregar notificações de um thread em segundo plano, use o BeginInvokeOnMainThread(Action) método para encapsular sua postagem em um delegado que é invocado no thread principal.
Ao assinar uma notificação, é possível assinar apenas um determinado tipo de notificação especificando o nome da notificação (ou nulo para ouvir todas as notificações postadas no centro de notificações). Também é possível assinar apenas as notificações emitidas por um objeto específico. Isso pode ser usado para filtrar a quantidade de notificações recebidas.
As notificações geralmente são campos NSString hospedados em alguma classe, por exemplo, o Objective-C UITextViewTextDidChangeNotification é encontrado na classe UITextView como o TextDidChangeNotification. Para sua conveniência, há sobrecargas que levam cadeias de caracteres C#.
Para se registrar para notificações, você pode usar o método AddObserver. Recomendamos que você use as versões C# desses métodos, pois pode conectar diretamente delegados, lambdas e métodos diretamente ao seu código. Quando você usa qualquer um dos métodos AddObserver nessa classe que usam um parâmetro Action<NSNotification;> , o AddObserver retornará um token. Esse token é usado como o parâmetro para RemoveNotification quando você deseja parar de ouvir um evento específico.
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);
}
A partir do MonoTouch 5.4, chamar Dispose no token de notificação retornado também removerá o observador para você, tornando o código mais curto. Por exemplo:
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 ();
}
Da mesma forma, se o objeto implementar T:System.IDisposable (incluindo qualquer objeto derivado de NSObject), você DEVERÁ chamar RemoveObservers(IEnumerable<NSObject>) ou notificationToken.Dispose()
em sua Dispose
função:
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();
}
}
}
Construtores
NSNotificationCenter() |
Construtor padrão que inicializa uma nova instância dessa classe sem parâmetros. |
NSNotificationCenter(IntPtr) |
Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime. |
NSNotificationCenter(NSObjectFlag) |
Construtor para chamar em classes derivadas para ignorar a inicialização e simplesmente alocar o objeto. |
Propriedades
Class |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
ClassHandle |
O identificador dessa classe. |
DebugDescription |
Uma descrição significativa do desenvolvedor desse objeto. (Herdado de NSObject) |
DefaultCenter |
O centro de notificações padrão, as notificações do sistema e os eventos no nível do sistema são postados neste centro de notificações. |
Description |
Descrição do objeto, a versão Objective-C de ToString. (Herdado de NSObject) |
Handle |
Manipule (ponteiro) para a representação de objeto não gerenciado. (Herdado de NSObject) |
IsDirectBinding |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
IsProxy |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
RetainCount |
Retorna a contagem de retenção objective-C atual para o objeto . (Herdado de NSObject) |
Self |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Superclass |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
SuperHandle |
Identificador usado para representar os métodos na classe base para esse NSObject. (Herdado de NSObject) |
Zone |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Métodos
AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr) |
Registra um objeto para ser observado externamente (usando NSString keyPath). As alterações observadas são expedidas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador. (Herdado de NSObject) |
AddObserver(NSObject, Selector, NSString, NSObject) |
API de observador de adição de baixo nível |
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr) |
Registra um objeto para ser observado externamente (usando keyPath de cadeia de caracteres). As alterações observadas são expedidas para o método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) do observador. (Herdado de NSObject) |
AddObserver(NSString, Action<NSNotification>) |
Adiciona um observador para a notificação especificada |
AddObserver(NSString, Action<NSNotification>, NSObject) |
Adiciona um observador para a notificação especificada |
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra um objeto para ser observado externamente usando um método arbitrário. (Herdado de NSObject) |
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra um objeto para ser observado externamente usando um método arbitrário. (Herdado de NSObject) |
AddObserver(String, NSObject, NSOperationQueue, Action<NSNotification>) |
Um hub de notificação para o aplicativo. |
AwakeFromNib() |
Chamado depois que o objeto foi carregado do arquivo nib. Os substituidores devem chamar base. AwakeFromNib(). (Herdado de NSObject) |
BeginInvokeOnMainThread(Action) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
BeginInvokeOnMainThread(Selector, NSObject) |
Invoca de forma assíncrona o código especificado no thread de interface do usuário principal. (Herdado de NSObject) |
Bind(NSString, NSObject, String, NSDictionary) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Bind(String, NSObject, String, NSDictionary) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
BindingInfo(String) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
BindingOptionDescriptions(String) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
BindingValueClass(String) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
CommitEditing() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
CommitEditing(NSObject, Selector, IntPtr) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
ConformsToProtocol(IntPtr) |
Invocado para determinar se esse objeto implementa o protocolo especificado. (Herdado de NSObject) |
Copy() |
Executa uma cópia do objeto Objective-C subjacente. (Herdado de NSObject) |
DangerousAutorelease() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
DangerousRelease() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
DangerousRetain() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
DidChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que ocorreu uma alteração nos índices de uma relação para muitos. (Herdado de NSObject) |
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
DidChangeValue(String) |
Indica que ocorreu uma alteração na chave especificada. (Herdado de NSObject) |
Dispose() |
Libera os recursos usados pelo objeto NSObject. (Herdado de NSObject) |
Dispose(Boolean) |
Libera os recursos usados pelo objeto NSObject. (Herdado de NSObject) |
DoesNotRecognizeSelector(Selector) |
Indica que esse objeto não reconhece o seletor especificado. (Herdado de NSObject) |
Equals(NSObject) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Equals(Object) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
ExposedBindings() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetBindingInfo(NSString) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetBindingOptionDescriptions(NSString) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetBindingValueClass(NSString) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetDictionaryOfValuesFromKeys(NSString[]) |
Recupera os valores das chaves especificadas. (Herdado de NSObject) |
GetHashCode() |
Gera um código hash para a instância atual. (Herdado de NSObject) |
GetMethodForSelector(Selector) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetNativeField(String) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
GetNativeHash() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Init() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
InitializeHandle(IntPtr) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
InitializeHandle(IntPtr, String) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Invoke(Action, Double) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Invoke(Action, TimeSpan) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
InvokeOnMainThread(Action) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
InvokeOnMainThread(Selector, NSObject) |
Invoca de forma síncrona o código especificado no thread principal da interface do usuário. (Herdado de NSObject) |
IsEqual(NSObject) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
IsKindOfClass(Class) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
IsMemberOfClass(Class) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
MarkDirty() |
Promove um objeto par regular (IsDirectBinding é true) em um objeto toggleref. (Herdado de NSObject) |
MutableCopy() |
Cria uma cópia mutável do NSObject especificado. (Herdado de NSObject) |
ObjectDidEndEditing(NSObject) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
ObserveValue(NSString, NSObject, NSDictionary, IntPtr) |
Indica que o valor no keyPath especificado em relação a esse objeto foi alterado. (Herdado de NSObject) |
PerformSelector(Selector) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PerformSelector(Selector, NSObject) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PerformSelector(Selector, NSObject, Double) |
Invoca o seletor na instância atual e, se o |
PerformSelector(Selector, NSObject, Double, NSString[]) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PerformSelector(Selector, NSObject, NSObject) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
PostNotification(NSNotification) |
Posta uma notificação que é transmitida para todos que assinam essa notificação. |
PostNotificationName(String, NSObject) |
Um hub de notificação para o aplicativo. |
PostNotificationName(String, NSObject, NSDictionary) |
Um hub de notificação para o aplicativo. |
PrepareForInterfaceBuilder() |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
RemoveObserver(NSObject) |
Um hub de notificação para o aplicativo. |
RemoveObserver(NSObject, NSString) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado. (Herdado de NSObject) |
RemoveObserver(NSObject, NSString, IntPtr) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath e o contexto especificados. (Herdado de NSObject) |
RemoveObserver(NSObject, String) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath especificado. (Herdado de NSObject) |
RemoveObserver(NSObject, String, IntPtr) |
Impede que o observador especificado receba mais notificações de valores alterados para o keyPath e o contexto especificados. (Herdado de NSObject) |
RemoveObserver(NSObject, String, NSObject) |
Um hub de notificação para o aplicativo. |
RemoveObservers(IEnumerable<NSObject>) |
Remove vários observadores em uma chamada. |
RespondsToSelector(Selector) |
Se esse objeto reconhece o seletor especificado. (Herdado de NSObject) |
SetNativeField(String, NSObject) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
SetNilValueForKey(NSString) |
Define o valor da chave especificada como nulo. (Herdado de NSObject) |
SetValueForKey(NSObject, NSString) |
Define o valor da propriedade especificada pela chave para o valor especificado. (Herdado de NSObject) |
SetValueForKeyPath(IntPtr, NSString) |
Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime. (Herdado de NSObject) |
SetValueForKeyPath(NSObject, NSString) |
Define o valor de uma propriedade que pode ser acessada usando um keypath. (Herdado de NSObject) |
SetValueForUndefinedKey(NSObject, NSString) |
Indica uma tentativa de gravar um valor em uma chave indefinida. Se não for substituído, gerará uma NSUndefinedKeyException. (Herdado de NSObject) |
SetValuesForKeysWithDictionary(NSDictionary) |
Define os valores desse NSObject como aqueles no dicionário especificado. (Herdado de NSObject) |
ToString() |
Retorna uma representação de cadeia de caracteres do valor da instância atual. (Herdado de NSObject) |
Unbind(NSString) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
Unbind(String) |
Obsoleto.
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
ValueForKey(NSString) |
Retorna o valor da propriedade associada à chave especificada. (Herdado de NSObject) |
ValueForKeyPath(NSString) |
Retorna o valor de uma propriedade que pode ser acessada usando um keypath. (Herdado de NSObject) |
ValueForUndefinedKey(NSString) |
Indica uma tentativa de ler um valor de uma chave indefinida. Se não for substituído, gerará uma NSUndefinedKeyException. (Herdado de NSObject) |
WillChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que os valores dos índices especificados na chave especificada estão prestes a ser alterados. (Herdado de NSObject) |
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Um hub de notificação para o aplicativo. (Herdado de NSObject) |
WillChangeValue(String) |
Indica que o valor da chave especificada está prestes a ser alterado. (Herdado de NSObject) |
Métodos de Extensão
ObjectDidBeginEditing(NSObject, INSEditor) |
Um hub de notificação para o aplicativo. |
ObjectDidEndEditing(NSObject, INSEditor) |
Um hub de notificação para o aplicativo. |
GetValidModes(NSObject, NSFontPanel) |
Um hub de notificação para o aplicativo. |
ValidateToolbarItem(NSObject, NSToolbarItem) |
Um hub de notificação para o aplicativo. |
GetDebugDescription(INSObjectProtocol) |
Um hub de notificação para o aplicativo. |
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel) |
Um hub de notificação para o aplicativo. |
BeginPreviewPanelControl(NSObject, QLPreviewPanel) |
Um hub de notificação para o aplicativo. |
EndPreviewPanelControl(NSObject, QLPreviewPanel) |
Um hub de notificação para o aplicativo. |
GetAccessibilityCustomRotors(NSObject) |
Obtém a matriz de UIAccessibilityCustomRotor objetos apropriados para |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
Define a matriz de UIAccessibilityCustomRotor objetos apropriados para |