Compartir a través de


NSNotificationCenter Clase

Definición

Un centro de notificaciones para la aplicación.

[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
    inherit NSObject
Herencia
NSNotificationCenter
Derivado
Atributos

Comentarios

NSNotificationCenter es un centro que se usa para escuchar mensajes de difusión y publicar mensajes de difusión en una aplicación. Los mensajes que se publican son sincrónicos.

NSNotificationCenter.DefaultCenter desempeña un papel central en la aplicación, ya que aquí es donde se publican notificaciones del sistema para eventos interesantes de nivel de sistema.

La publicación de una notificación es un proceso sincrónico, lo que significa que invocar uno de los mensajes Post en el centro de notificaciones bloqueará la ejecución hasta que todos los controladores de notificaciones se hayan completado en ejecución.

Las notificaciones se publican en el mismo subproceso que el subproceso de llamada que podría tener efectos no deseados. Si necesita entregar notificaciones desde un subproceso en segundo plano, use el método para encapsular la BeginInvokeOnMainThread(Action) publicación en un delegado que se invoca en el subproceso principal.

Al suscribirse a una notificación, solo es posible suscribirse a un determinado tipo de notificación especificando el nombre de notificación (o null para escuchar todas las notificaciones publicadas en el centro de notificaciones). También es posible suscribirse únicamente a las notificaciones emitidas por un objeto específico. Se puede usar para filtrar la cantidad de notificaciones recibidas.

Las notificaciones suelen ser campos NSString hospedados en alguna clase, por ejemplo, objective-C UITextViewTextDidChangeNotification se encuentra en la clase UITextView como TextDidChangeNotification. Para mayor comodidad, hay sobrecargas que toman cadenas de C#.

Para registrarse para recibir notificaciones, puede usar el método AddObserver. Se recomienda usar las versiones de C# de estos métodos, ya que puede conectar directamente delegados, lambdas y métodos directamente al código. Cuando se usa cualquiera de los métodos AddObserver de esta clase que realizan un parámetro Action<NSNotification;> el AddObserver devolverá un token. A continuación, este token se usa como parámetro para RemoveNotification cuando desea dejar de escuchar un evento determinado.

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 de MonoTouch 5.4, llamar a Dispose en el token de notificación devuelto también quitará el observador para usted, lo que hará que el código sea más corto. Por ejemplo:

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 ();
}

Del mismo modo, si el objeto implementa T:System.IDisposable (incluido cualquier objeto derivado de NSObject) debe llamar a RemoveObservers(IEnumerable<NSObject>) o notificationToken.Dispose() en la Dispose función:

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();
         }
      }
}

Constructores

NSNotificationCenter()

Constructor predeterminado que inicializa una nueva instancia de esta clase sin parámetros.

NSNotificationCenter(IntPtr)

Constructor utilizado al crear representaciones administradas de objetos no administrados; Lo llama el tiempo de ejecución.

NSNotificationCenter(NSObjectFlag)

Constructor para llamar a en clases derivadas para omitir la inicialización y simplemente asignar el objeto.

Propiedades

Class

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
ClassHandle

Identificador de esta clase.

DebugDescription

Descripción significativa para el desarrollador de este objeto.

(Heredado de NSObject)
DefaultCenter

El centro de notificaciones predeterminado, las notificaciones del sistema y los eventos de nivel de sistema se publican en este centro de notificaciones.

Description

Descripción del objeto, la versión objective-C de ToString.

(Heredado de NSObject)
Handle

Identificador (puntero) a la representación del objeto no administrado.

(Heredado de NSObject)
IsDirectBinding

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
IsProxy

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
RetainCount

Devuelve el recuento de retención actual de Objective-C para el objeto .

(Heredado de NSObject)
Self

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Superclass

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
SuperHandle

Identificador usado para representar los métodos de la clase base para este NSObject.

(Heredado de NSObject)
Zone

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)

Métodos

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registra un objeto para que se observe externamente (mediante NSString keyPath).   Los cambios observados se envían al método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) del observador.

(Heredado de NSObject)
AddObserver(NSObject, Selector, NSString, NSObject)

API de observador de complementos de bajo nivel

AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registra un objeto para que se observe externamente (mediante keyPath de cadena).   Los cambios observados se envían al método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) del observador.

(Heredado de NSObject)
AddObserver(NSString, Action<NSNotification>)

Agrega un observador para la notificación especificada.

AddObserver(NSString, Action<NSNotification>, NSObject)

Agrega un observador para la notificación especificada.

AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un objeto para que se observe externamente mediante un método arbitrario.

(Heredado de NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un objeto para que se observe externamente mediante un método arbitrario.

(Heredado de NSObject)
AddObserver(String, NSObject, NSOperationQueue, Action<NSNotification>)

Un centro de notificaciones para la aplicación.

AwakeFromNib()

Se llama después de cargar el objeto desde el archivo nib. Los invalidadores deben llamar a base. AwakeFromNib().

(Heredado de NSObject)
BeginInvokeOnMainThread(Action)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Invoca de forma asincrónica el código especificado en el subproceso principal de la interfaz de usuario.

(Heredado de NSObject)
Bind(NSString, NSObject, String, NSDictionary)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Bind(String, NSObject, String, NSDictionary)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
BindingInfo(String)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
BindingOptionDescriptions(String)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
BindingValueClass(String)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
CommitEditing()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
CommitEditing(NSObject, Selector, IntPtr)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
ConformsToProtocol(IntPtr)

Se invoca para determinar si este objeto implementa el protocolo especificado.

(Heredado de NSObject)
Copy()

Realiza una copia del objeto Objective-C subyacente.

(Heredado de NSObject)
DangerousAutorelease()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
DangerousRelease()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
DangerousRetain()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indica que se ha producido un cambio en los índices de una relación a varios.

(Heredado de NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
DidChangeValue(String)

Indica que se ha producido un cambio en la clave especificada.

(Heredado de NSObject)
Dispose()

Libera los recursos utilizados por el objeto NSObject.

(Heredado de NSObject)
Dispose(Boolean)

Libera los recursos utilizados por el objeto NSObject.

(Heredado de NSObject)
DoesNotRecognizeSelector(Selector)

Indica que este objeto no reconoce el selector especificado.

(Heredado de NSObject)
Equals(NSObject)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Equals(Object)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
ExposedBindings()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetBindingInfo(NSString)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetBindingOptionDescriptions(NSString)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetBindingValueClass(NSString)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Recupera los valores de las claves especificadas.

(Heredado de NSObject)
GetHashCode()

Genera un código hash para la instancia actual.

(Heredado de NSObject)
GetMethodForSelector(Selector)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetNativeField(String)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
GetNativeHash()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Init()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
InitializeHandle(IntPtr)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
InitializeHandle(IntPtr, String)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Invoke(Action, Double)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Invoke(Action, TimeSpan)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
InvokeOnMainThread(Action)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
InvokeOnMainThread(Selector, NSObject)

Invoca sincrónicamente el código especificado en el subproceso principal de la interfaz de usuario.

(Heredado de NSObject)
IsEqual(NSObject)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
IsKindOfClass(Class)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
IsMemberOfClass(Class)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
MarkDirty()

Promueve un objeto del mismo nivel normal (IsDirectBinding es true) en un objeto toggleref.

(Heredado de NSObject)
MutableCopy()

Crea una copia mutable del NSObject especificado.

(Heredado de NSObject)
ObjectDidEndEditing(NSObject)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indica que el valor de keyPath especificado en relación con este objeto ha cambiado.

(Heredado de NSObject)
PerformSelector(Selector)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PerformSelector(Selector, NSObject)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PerformSelector(Selector, NSObject, Double)

Invoca el selector en la instancia actual y, si no obj es NULL, pasa esto como su único parámetro.

(Heredado de NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PerformSelector(Selector, NSObject, NSObject)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
PostNotification(NSNotification)

Publica una notificación que se difunde a todos los usuarios que se suscriben a esa notificación.

PostNotificationName(String, NSObject)

Un centro de notificaciones para la aplicación.

PostNotificationName(String, NSObject, NSDictionary)

Un centro de notificaciones para la aplicación.

PrepareForInterfaceBuilder()

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
RemoveObserver(NSObject)

Un centro de notificaciones para la aplicación.

RemoveObserver(NSObject, NSString)

Impide que el observador especificado reciba más notificaciones de los valores modificados para keyPath especificado.

(Heredado de NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath y el contexto especificados.

(Heredado de NSObject)
RemoveObserver(NSObject, String)

Impide que el observador especificado reciba más notificaciones de los valores modificados para keyPath especificado.

(Heredado de NSObject)
RemoveObserver(NSObject, String, IntPtr)

Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath y el contexto especificados.

(Heredado de NSObject)
RemoveObserver(NSObject, String, NSObject)

Un centro de notificaciones para la aplicación.

RemoveObservers(IEnumerable<NSObject>)

Quita varios observadores en una llamada.

RespondsToSelector(Selector)

Si este objeto reconoce el selector especificado.

(Heredado de NSObject)
SetNativeField(String, NSObject)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
SetNilValueForKey(NSString)

Establece el valor de la clave especificada en NULL.

(Heredado de NSObject)
SetValueForKey(NSObject, NSString)

Establece el valor de la propiedad especificada por la clave en el valor especificado.

(Heredado de NSObject)
SetValueForKeyPath(IntPtr, NSString)

Constructor utilizado al crear representaciones administradas de objetos no administrados; Lo llama el tiempo de ejecución.

(Heredado de NSObject)
SetValueForKeyPath(NSObject, NSString)

Establece el valor de una propiedad que se puede alcanzar mediante una ruta de acceso de clave.

(Heredado de NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indica un intento de escribir un valor en una clave no definida. Si no se reemplaza, genera una excepción NSUndefinedKeyException.

(Heredado de NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Establece los valores de este NSObject en los del diccionario especificado.

(Heredado de NSObject)
ToString()

Devuelve una representación de cadena del valor de la instancia actual.

(Heredado de NSObject)
Unbind(NSString)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
Unbind(String)
Obsoletos.

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
ValueForKey(NSString)

Devuelve el valor de la propiedad asociada a la clave especificada.

(Heredado de NSObject)
ValueForKeyPath(NSString)

Devuelve el valor de una propiedad que se puede alcanzar mediante una ruta de acceso de clave.

(Heredado de NSObject)
ValueForUndefinedKey(NSString)

Indica un intento de leer un valor de una clave no definida. Si no se reemplaza, genera una excepción NSUndefinedKeyException.

(Heredado de NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indica que los valores de los índices especificados en la clave especificada están a punto de cambiar.

(Heredado de NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

Un centro de notificaciones para la aplicación.

(Heredado de NSObject)
WillChangeValue(String)

Indica que el valor de la clave especificada está a punto de cambiar.

(Heredado de NSObject)

Métodos de extensión

ObjectDidBeginEditing(NSObject, INSEditor)

Un centro de notificaciones para la aplicación.

ObjectDidEndEditing(NSObject, INSEditor)

Un centro de notificaciones para la aplicación.

GetValidModes(NSObject, NSFontPanel)

Un centro de notificaciones para la aplicación.

ValidateToolbarItem(NSObject, NSToolbarItem)

Un centro de notificaciones para la aplicación.

GetDebugDescription(INSObjectProtocol)

Un centro de notificaciones para la aplicación.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

Un centro de notificaciones para la aplicación.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

Un centro de notificaciones para la aplicación.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

Un centro de notificaciones para la aplicación.

GetAccessibilityCustomRotors(NSObject)

Obtiene la matriz de UIAccessibilityCustomRotor objetos adecuados para this el objeto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Establece la matriz de UIAccessibilityCustomRotor objetos apropiados para this el objeto .

Se aplica a

Consulte también