Condividi tramite


NSManagedObjectContext.DidSaveNotification Proprietà

Definizione

Costante di notifica per DidSave

[Foundation.Advice("Use NSManagedObjectContext.Notifications.ObserveDidSave helper method instead.")]
[Foundation.Field("NSManagedObjectContextDidSaveNotification", "CoreData")]
public static Foundation.NSString DidSaveNotification { get; }
member this.DidSaveNotification : Foundation.NSString

Valore della proprietà

La costante NSString deve essere usata come token per NSNotificationCenter.

Attributi

Commenti

Questa costante può essere usata con per NSNotificationCenter registrare un listener per questa notifica. Si tratta di una stringa NSString anziché di una stringa, perché questi valori possono essere usati come token in alcune librerie native anziché essere usati esclusivamente per il relativo contenuto stringa effettivo. Il parametro 'notification' per il callback contiene informazioni aggiuntive specifiche del tipo di notifica.

Per sottoscrivere questa notifica, gli sviluppatori possono usare il NSManagedObjectContext.Notificationsmetodo pratico .ObserveDidSave Che offre accesso fortemente tipizzato ai parametri della notifica.

Nell'esempio seguente viene illustrato come usare la classe Notifications fortemente tipizzata per escludere le ipotesi dalle proprietà disponibili nella notifica:

//
// Lambda style
//

// listening
notification = NSManagedObjectContext.Notifications.ObserveDidSave ((sender, args) => {
    /* Access strongly typed args */
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("InsertedObjects", args.InsertedObjects);
    Console.WriteLine ("UpdatedObjects", args.UpdatedObjects);
    Console.WriteLine ("DeletedObjects", args.DeletedObjects);
    Console.WriteLine ("RefreshedObjects", args.RefreshedObjects);
    Console.WriteLine ("InvalidatedObjects", args.InvalidatedObjects);
    Console.WriteLine ("InvalidatedAllObjects", args.InvalidatedAllObjects);
});

// To stop listening:
notification.Dispose ();

//
// Method style
//
NSObject notification;
void Callback (object sender, CoreData.NSManagedObjectChangeEventArgs args)
{
    // Access strongly typed args
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("InsertedObjects", args.InsertedObjects);
    Console.WriteLine ("UpdatedObjects", args.UpdatedObjects);
    Console.WriteLine ("DeletedObjects", args.DeletedObjects);
    Console.WriteLine ("RefreshedObjects", args.RefreshedObjects);
    Console.WriteLine ("InvalidatedObjects", args.InvalidatedObjects);
    Console.WriteLine ("InvalidatedAllObjects", args.InvalidatedAllObjects);
}

void Setup ()
{
    notification = NSManagedObjectContext.Notifications.ObserveDidSave (Callback);
}

void Teardown ()
{
    notification.Dispose ();
}

L'esempio seguente illustra come usare la notifica con l'API DefaultCenter:

// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (
        NSManagedObjectContext.DidSaveNotification, (notification) => {Console.WriteLine ("Received the notification NSManagedObjectContext", notification); }


// Method style
void Callback (NSNotification notification)
{
    Console.WriteLine ("Received a notification NSManagedObjectContext", notification);
}

void Setup ()
{
    NSNotificationCenter.DefaultCenter.AddObserver (NSManagedObjectContext.DidSaveNotification, Callback);
}

Si applica a