NSManagedObjectContext.Notifications.ObserveObjectsDidChange Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ObserveObjectsDidChange(EventHandler<NSManagedObjectChangeEventArgs>) |
Строго типизированное уведомление для константы ObjectsDidChangeNotification . |
ObserveObjectsDidChange(NSObject, EventHandler<NSManagedObjectChangeEventArgs>) |
Строго типизированное уведомление для константы ObjectsDidChangeNotification . |
ObserveObjectsDidChange(EventHandler<NSManagedObjectChangeEventArgs>)
Строго типизированное уведомление для константы ObjectsDidChangeNotification .
public static Foundation.NSObject ObserveObjectsDidChange (EventHandler<CoreData.NSManagedObjectChangeEventArgs> handler);
static member ObserveObjectsDidChange : EventHandler<CoreData.NSManagedObjectChangeEventArgs> -> Foundation.NSObject
Параметры
Метод, вызываемый при публикации уведомления.
Возвращаемое значение
Объект токена, который можно использовать для прекращения получения уведомлений путем удаления или передачи в RemoveObservers(IEnumerable<NSObject>)
Комментарии
В следующем примере показано, как разработчики могут использовать этот метод в своем коде:
//
// 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 ();
}
Применяется к
ObserveObjectsDidChange(NSObject, EventHandler<NSManagedObjectChangeEventArgs>)
Строго типизированное уведомление для константы ObjectsDidChangeNotification .
public static Foundation.NSObject ObserveObjectsDidChange (Foundation.NSObject objectToObserve, EventHandler<CoreData.NSManagedObjectChangeEventArgs> handler);
static member ObserveObjectsDidChange : Foundation.NSObject * EventHandler<CoreData.NSManagedObjectChangeEventArgs> -> Foundation.NSObject
Параметры
- objectToObserve
- NSObject
Объект для наблюдения.
Метод, вызываемый при публикации уведомления.
Возвращаемое значение
Объект токена, который можно использовать для прекращения получения уведомлений путем удаления или передачи в RemoveObservers(IEnumerable<NSObject>)
Комментарии
Этот метод можно использовать для подписки на ObjectsDidChangeNotification уведомления.
// Listen to all notifications posted for any object
var token = NSManagedObjectContext.Notifications.ObserveObjectsDidChange ((notification) => {
Console.WriteLine ("Observed ObjectsDidChangeNotification!");
};
// Listen to all notifications posted for a single object
var token = NSManagedObjectContext.Notifications.ObserveObjectsDidChange (objectToObserve, (notification) => {
Console.WriteLine ($"Observed ObjectsDidChangeNotification for {nameof (objectToObserve)}!");
};
// Stop listening for notifications
token.Dispose ();