Compartilhar via


NSNotificationCenter Classe

Definição

Um hub de notificação para o aplicativo.

[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
    inherit NSObject
Herança
NSNotificationCenter
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 obj não for nulo, ele passará isso como seu único parâmetro.

(Herdado de NSObject)
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 this o objeto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Define a matriz de UIAccessibilityCustomRotor objetos apropriados para this o objeto .

Aplica-se a

Confira também