次の方法で共有


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

次の例は、DefaultCenter API で通知を使用する方法を示しています。

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

適用対象