다음을 통해 공유


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

매개 변수

handler
EventHandler<NSManagedObjectChangeEventArgs>

알림이 게시될 때 호출할 메서드입니다.

반환

토큰 개체를 삭제하거나 전달하여 알림 수신을 중지하는 데 사용할 수 있는 토큰 개체 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

관찰할 개체입니다.

handler
EventHandler<NSManagedObjectChangeEventArgs>

알림이 게시될 때 호출할 메서드입니다.

반환

토큰 개체를 삭제하거나 전달하여 알림 수신을 중지하는 데 사용할 수 있는 토큰 개체 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 ();

적용 대상