共用方式為


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

適用於