NSManagedObjectContext.ObjectsDidChangeNotification 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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);
}