NSManagedObjectContext.Notifications.ObserveObjectsDidChange Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
ObserveObjectsDidChange(EventHandler<NSManagedObjectChangeEventArgs>) |
Strongly typed notification for the ObjectsDidChangeNotification constant. |
ObserveObjectsDidChange(NSObject, EventHandler<NSManagedObjectChangeEventArgs>) |
Strongly typed notification for the ObjectsDidChangeNotification constant. |
ObserveObjectsDidChange(EventHandler<NSManagedObjectChangeEventArgs>)
Strongly typed notification for the ObjectsDidChangeNotification constant.
public static Foundation.NSObject ObserveObjectsDidChange (EventHandler<CoreData.NSManagedObjectChangeEventArgs> handler);
static member ObserveObjectsDidChange : EventHandler<CoreData.NSManagedObjectChangeEventArgs> -> Foundation.NSObject
Parameters
Method to invoke when the notification is posted.
Returns
Token object that can be used to stop receiving notifications by either disposing it or passing it to RemoveObservers(IEnumerable<NSObject>)
Remarks
The following example shows how developers can use this method in their code:
//
// 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 ();
}
Applies to
ObserveObjectsDidChange(NSObject, EventHandler<NSManagedObjectChangeEventArgs>)
Strongly typed notification for the ObjectsDidChangeNotification constant.
public static Foundation.NSObject ObserveObjectsDidChange (Foundation.NSObject objectToObserve, EventHandler<CoreData.NSManagedObjectChangeEventArgs> handler);
static member ObserveObjectsDidChange : Foundation.NSObject * EventHandler<CoreData.NSManagedObjectChangeEventArgs> -> Foundation.NSObject
Parameters
- objectToObserve
- NSObject
The object to observe.
Method to invoke when the notification is posted.
Returns
Token object that can be used to stop receiving notifications by either disposing it or passing it to RemoveObservers(IEnumerable<NSObject>)
Remarks
This method can be used to subscribe for ObjectsDidChangeNotification notifications.
// 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 ();