NSManagedObjectContext.ObjectsDidChangeNotification Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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);
}