Share via


NSNotificationCenter Classe

Definizione

Hub di notifica per l'applicazione.

[Foundation.Register("NSNotificationCenter", true)]
public class NSNotificationCenter : Foundation.NSObject
type NSNotificationCenter = class
    inherit NSObject
Ereditarietà
NSNotificationCenter
Derivato
Attributi

Commenti

NSNotificationCenter è un hub usato per ascoltare i messaggi trasmessi e pubblicare messaggi trasmessi in un'applicazione. I messaggi pubblicati sono sincroni.

NSNotificationCenter.DefaultCenter svolge un ruolo centrale nell'applicazione, perché è qui che vengono registrate notifiche di sistema per eventi interessanti a livello di sistema.

La pubblicazione di una notifica è un processo sincrono, il che significa che la chiamata di uno dei messaggi Post nel Centro notifiche bloccherà l'esecuzione fino al completamento dell'esecuzione di tutti i gestori di notifica.

Le notifiche vengono pubblicate sullo stesso thread del thread chiamante che potrebbero avere effetti indesiderati. Se è necessario recapitare notifiche da un thread in background, usare il metodo per eseguire il wrapping della BeginInvokeOnMainThread(Action) registrazione in un delegato richiamato nel thread principale.

Quando si sottoscrive una notifica, è possibile sottoscrivere solo un determinato tipo di notifica specificando il nome della notifica (o null per ascoltare tutte le notifiche inviate al Centro notifiche). È anche possibile sottoscrivere solo le notifiche rilasciate da un oggetto specifico. Può essere usato per filtrare la quantità di notifiche ricevute.

Le notifiche sono in genere campi NSString ospitati in alcune classi, ad esempio Objective-C UITextViewTextDidChangeNotification si trova nella classe UITextView come TextDidChangeNotification. Per praticità, esistono overload che accettano stringhe C#.

Per eseguire la registrazione per le notifiche, è possibile usare il metodo AddObserver. È consigliabile usare le versioni C# di questi metodi, perché è possibile connettere direttamente delegati, espressioni lambda e metodi direttamente nel codice. Quando si utilizza uno dei metodi AddObserver in questa classe che accettano un'azione<NSNotification.> Il parametro AddObserver restituirà un token. Questo token viene quindi usato come parametro per RemoveNotification quando si vuole interrompere l'ascolto di un determinato evento.

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 partire da MonoTouch 5.4, la chiamata a Dispose sul token di notifica restituito rimuoverà anche l'osservatore, rendendo il codice più breve. Ad esempio:

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

Analogamente, se l'oggetto implementa T:System.IDisposable (incluso qualsiasi oggetto derivato da NSObject) è NECESSARIO chiamare RemoveObservers(IEnumerable<NSObject>) o notificationToken.Dispose() nella Dispose funzione:

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

Costruttori

NSNotificationCenter()

Costruttore predefinito che inizializza una nuova istanza di questa classe senza parametri.

NSNotificationCenter(IntPtr)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti; Chiamato dal runtime.

NSNotificationCenter(NSObjectFlag)

Costruttore da chiamare sulle classi derivate per ignorare l'inizializzazione e allocare semplicemente l'oggetto.

Proprietà

Class

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
ClassHandle

Handle per questa classe.

DebugDescription

Descrizione significativa dello sviluppatore di questo oggetto.

(Ereditato da NSObject)
DefaultCenter

Il centro notifiche predefinito, le notifiche di sistema e gli eventi a livello di sistema vengono inviati a questo centro notifiche.

Description

Descrizione dell'oggetto, versione Objective-C di ToString.

(Ereditato da NSObject)
Handle

Handle (puntatore) alla rappresentazione dell'oggetto non gestito.

(Ereditato da NSObject)
IsDirectBinding

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
IsProxy

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
RetainCount

Restituisce il conteggio di mantenimento objective-C corrente per l'oggetto .

(Ereditato da NSObject)
Self

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Superclass

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
SuperHandle

Handle utilizzato per rappresentare i metodi nella classe di base per questo NSObject.

(Ereditato da NSObject)
Zone

Hub di notifica per l'applicazione.

(Ereditato da NSObject)

Metodi

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registra un oggetto per essere osservato esternamente (usando NSString keyPath).   Le modifiche osservate vengono inviate al metodo dell'oggetto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) dell'osservatore.

(Ereditato da NSObject)
AddObserver(NSObject, Selector, NSString, NSObject)

API add-observer di basso livello

AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registra un oggetto per essere osservato esternamente (usando string keyPath).   Le modifiche osservate vengono inviate al metodo dell'oggetto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) dell'osservatore.

(Ereditato da NSObject)
AddObserver(NSString, Action<NSNotification>)

Aggiunge un osservatore per la notifica specificata

AddObserver(NSString, Action<NSNotification>, NSObject)

Aggiunge un osservatore per la notifica specificata

AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un oggetto per essere osservato esternamente usando un metodo arbitrario.

(Ereditato da NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un oggetto per essere osservato esternamente usando un metodo arbitrario.

(Ereditato da NSObject)
AddObserver(String, NSObject, NSOperationQueue, Action<NSNotification>)

Hub di notifica per l'applicazione.

AwakeFromNib()

Chiamato dopo il caricamento dell'oggetto dal file nib. Gli override devono chiamare base. AwakeFromNib().

(Ereditato da NSObject)
BeginInvokeOnMainThread(Action)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Richiama in modo asincrono il codice specificato nel thread principale dell'interfaccia utente.

(Ereditato da NSObject)
Bind(NSString, NSObject, String, NSDictionary)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Bind(String, NSObject, String, NSDictionary)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
BindingInfo(String)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
BindingOptionDescriptions(String)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
BindingValueClass(String)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
CommitEditing()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
CommitEditing(NSObject, Selector, IntPtr)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
ConformsToProtocol(IntPtr)

Richiamato per determinare se questo oggetto implementa il protocollo specificato.

(Ereditato da NSObject)
Copy()

Esegue una copia dell'oggetto Objective-C sottostante.

(Ereditato da NSObject)
DangerousAutorelease()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
DangerousRelease()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
DangerousRetain()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indica che si è verificata una modifica agli indici per una relazione a molti.

(Ereditato da NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
DidChangeValue(String)

Indica che si è verificata una modifica sulla chiave specificata.

(Ereditato da NSObject)
Dispose()

Rilascia le risorse utilizzate dall'oggetto NSObject.

(Ereditato da NSObject)
Dispose(Boolean)

Rilascia le risorse utilizzate dall'oggetto NSObject.

(Ereditato da NSObject)
DoesNotRecognizeSelector(Selector)

Indica che questo oggetto non riconosce il selettore specificato.

(Ereditato da NSObject)
Equals(NSObject)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Equals(Object)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
ExposedBindings()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetBindingInfo(NSString)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetBindingOptionDescriptions(NSString)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetBindingValueClass(NSString)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Recupera i valori delle chiavi specificate.

(Ereditato da NSObject)
GetHashCode()

Genera un codice hash per l'istanza corrente.

(Ereditato da NSObject)
GetMethodForSelector(Selector)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetNativeField(String)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
GetNativeHash()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Init()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
InitializeHandle(IntPtr)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
InitializeHandle(IntPtr, String)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Invoke(Action, Double)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Invoke(Action, TimeSpan)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
InvokeOnMainThread(Action)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
InvokeOnMainThread(Selector, NSObject)

Richiama in modo sincrono il codice specificato nel thread principale dell'interfaccia utente.

(Ereditato da NSObject)
IsEqual(NSObject)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
IsKindOfClass(Class)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
IsMemberOfClass(Class)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
MarkDirty()

Promuove un normale oggetto peer (IsDirectBinding è true) in un oggetto toggleref.

(Ereditato da NSObject)
MutableCopy()

Crea una copia modificabile dell'oggetto NSObject specificato.

(Ereditato da NSObject)
ObjectDidEndEditing(NSObject)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indica che il valore in corrispondenza del keyPath specificato rispetto a questo oggetto è stato modificato.

(Ereditato da NSObject)
PerformSelector(Selector)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, Double)

Richiama il selettore nell'istanza corrente e, se non obj è Null, lo passa come singolo parametro.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, NSObject)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
PostNotification(NSNotification)

Invia una notifica che viene trasmessa a tutti gli utenti che sottoscrivono tale notifica.

PostNotificationName(String, NSObject)

Hub di notifica per l'applicazione.

PostNotificationName(String, NSObject, NSDictionary)

Hub di notifica per l'applicazione.

PrepareForInterfaceBuilder()

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
RemoveObserver(NSObject)

Hub di notifica per l'applicazione.

RemoveObserver(NSObject, NSString)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath specificato.

(Ereditato da NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath e contesto specificati.

(Ereditato da NSObject)
RemoveObserver(NSObject, String)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath specificato.

(Ereditato da NSObject)
RemoveObserver(NSObject, String, IntPtr)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath e contesto specificati.

(Ereditato da NSObject)
RemoveObserver(NSObject, String, NSObject)

Hub di notifica per l'applicazione.

RemoveObservers(IEnumerable<NSObject>)

Rimuove più osservatori in una sola chiamata.

RespondsToSelector(Selector)

Indica se questo oggetto riconosce il selettore specificato.

(Ereditato da NSObject)
SetNativeField(String, NSObject)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
SetNilValueForKey(NSString)

Imposta il valore della chiave specificata su Null.

(Ereditato da NSObject)
SetValueForKey(NSObject, NSString)

Imposta il valore della proprietà specificata dalla chiave sul valore specificato.

(Ereditato da NSObject)
SetValueForKeyPath(IntPtr, NSString)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti; Chiamato dal runtime.

(Ereditato da NSObject)
SetValueForKeyPath(NSObject, NSString)

Imposta il valore di una proprietà che può essere raggiunta usando un percorso chiave.

(Ereditato da NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indica un tentativo di scrittura di un valore in una chiave non definita. Se non ne viene eseguito l'override, genera un'eccezione NSUndefinedKeyException.

(Ereditato da NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Imposta i valori di questo NSObject su quelli nel dizionario specificato.

(Ereditato da NSObject)
ToString()

Restituisce una rappresentazione di stringa del valore dell'istanza corrente.

(Ereditato da NSObject)
Unbind(NSString)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
Unbind(String)
Obsoleti.

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
ValueForKey(NSString)

Restituisce il valore della proprietà associata alla chiave specificata.

(Ereditato da NSObject)
ValueForKeyPath(NSString)

Restituisce il valore di una proprietà che può essere raggiunta utilizzando un percorso chiave.

(Ereditato da NSObject)
ValueForUndefinedKey(NSString)

Indica un tentativo di lettura di un valore di una chiave non definita. Se non ne viene eseguito l'override, genera un'eccezione NSUndefinedKeyException.

(Ereditato da NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indica che i valori degli indici specificati nella chiave specificata stanno per essere modificati.

(Ereditato da NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

Hub di notifica per l'applicazione.

(Ereditato da NSObject)
WillChangeValue(String)

Indica che il valore della chiave specificata sta per essere modificato.

(Ereditato da NSObject)

Metodi di estensione

ObjectDidBeginEditing(NSObject, INSEditor)

Hub di notifica per l'applicazione.

ObjectDidEndEditing(NSObject, INSEditor)

Hub di notifica per l'applicazione.

GetValidModes(NSObject, NSFontPanel)

Hub di notifica per l'applicazione.

ValidateToolbarItem(NSObject, NSToolbarItem)

Hub di notifica per l'applicazione.

GetDebugDescription(INSObjectProtocol)

Hub di notifica per l'applicazione.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

Hub di notifica per l'applicazione.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

Hub di notifica per l'applicazione.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

Hub di notifica per l'applicazione.

GetAccessibilityCustomRotors(NSObject)

Ottiene la matrice di UIAccessibilityCustomRotor oggetti appropriati per this l'oggetto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Imposta la matrice di UIAccessibilityCustomRotor oggetti appropriati per this l'oggetto .

Si applica a

Vedi anche