NSManagedObjectContext.DidSaveNotification Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Константа уведомления для 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
Значение свойства
Константа NSString должна использоваться в качестве маркера для NSNotificationCenter.
- Атрибуты
Комментарии
Эту константу можно использовать с для NSNotificationCenter регистрации прослушивателя для этого уведомления. Это NSString вместо строки, так как эти значения могут использоваться в качестве маркеров в некоторых собственных библиотеках, а не только для их фактического содержимого строки. Параметр notification для обратного вызова содержит дополнительные сведения, относящиеся к типу уведомления.
Чтобы подписаться на это уведомление, разработчики могут использовать удобный NSManagedObjectContext.Notificationsметод .ObserveDidSave , который предоставляет строго типизированный доступ к параметрам уведомления.
В следующем примере показано, как использовать строго типизированный класс Notifications, чтобы вывести догадки из доступных свойств в уведомлении:
//
// 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 ();
}
В следующем примере показано, как использовать уведомление с 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);
}