Compartilhar via


NSManagedObjectContext.ObjectsDidChangeNotification Propriedade

Definição

Constante de notificação para ObjectsDidChange

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

Valor da propriedade

Constante NSString, deve ser usada como um token para NSNotificationCenter.

Atributos

Comentários

Essa constante pode ser usada com o NSNotificationCenter para registrar um ouvinte para essa notificação. Esse é um NSString em vez de uma cadeia de caracteres, pois esses valores podem ser usados como tokens em algumas bibliotecas nativas em vez de serem usados puramente para seu conteúdo de cadeia de caracteres real. O parâmetro 'notification' para o retorno de chamada contém informações extras específicas para o tipo de notificação.

Para assinar essa notificação, os desenvolvedores podem usar o método .ObserveObjectsDidChange de conveniência NSManagedObjectContext.Notificationsque oferece acesso fortemente tipado aos parâmetros da notificação.

O exemplo a seguir mostra como usar a classe Notifications fortemente tipada para tirar a adivinhação das propriedades disponíveis na notificação:

//
// Lambda style
//

// listening
notification = NSManagedObjectContext.Notifications.ObserveObjectsDidChange ((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.ObserveObjectsDidChange (Callback);
}

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

O exemplo a seguir mostra como usar a notificação com a API DefaultCenter:

// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (
        NSManagedObjectContext.ObjectsDidChangeNotification, (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.ObjectsDidChangeNotification, Callback);
}

Aplica-se a