다음을 통해 공유


NSManagedObjectContext.ObjectsDidChangeNotification 속성

정의

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

속성 값

NSString 상수는 NSNotificationCenter에 대한 토큰으로 사용해야 합니다.

특성

설명

이 상수는 와 함께 NSNotificationCenter 사용하여 이 알림에 대한 수신기를 등록할 수 있습니다. 이러한 값은 실제 문자열 콘텐츠에만 사용되는 대신 일부 네이티브 라이브러리에서 토큰으로 사용할 수 있으므로 문자열 대신 NSString입니다. 콜백에 대한 'notification' 매개 변수에는 알림 유형과 관련된 추가 정보가 포함됩니다.

이 알림을 구독하기 위해 개발자는 알림의 매개 변수에 강력한 형식의 액세스를 제공하는 편의성 NSManagedObjectContext.Notifications.ObserveObjectsDidChange 메서드를 사용할 수 있습니다.

다음 예제에서는 강력한 형식의 Notifications 클래스를 사용하여 알림의 사용 가능한 속성에서 추측을 수행하는 방법을 보여 줍니다.

//
// 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 ();
}

다음 예제에서는 DefaultCenter API와 함께 알림을 사용하는 방법을 보여줍니다.

// 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);
}

적용 대상