Поделиться через


ALAssetsLibrary.ChangedNotification Свойство

Определение

Константы уведомлений об изменении

[Foundation.Advice("Use ALAssetsLibrary.Notifications.ObserveChanged helper method instead.")]
[Foundation.Field("ALAssetsLibraryChangedNotification", "AssetsLibrary")]
public static Foundation.NSString ChangedNotification { get; }
member this.ChangedNotification : Foundation.NSString

Значение свойства

Константа NSString должна использоваться в качестве маркера для NSNotificationCenter.

Атрибуты

Комментарии

Эту константу можно использовать с для NSNotificationCenter регистрации прослушивателя для этого уведомления. Это NSString вместо строки, так как эти значения могут использоваться в качестве маркеров в некоторых собственных библиотеках, а не только для их фактического содержимого строки. Параметр notification для обратного вызова содержит дополнительные сведения, относящиеся к типу уведомления.

Если вы хотите подписаться на это уведомление, можно использовать удобный ALAssetsLibrary.Notificationsметод .ObserveChanged , который предоставляет строго типизированный доступ к параметрам уведомления.

В следующем примере показано, как использовать строго типизированный класс Notifications, чтобы вывести догадки из доступных свойств в уведомлении:

//
// Lambda style
//

// listening
notification = ALAssetsLibrary.Notifications.ObserveChanged ((sender, args) => {
    /* Access strongly typed args */
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("UpdatedAssets", args.UpdatedAssets);
    Console.WriteLine ("InsertedAssetGroups", args.InsertedAssetGroups);
    Console.WriteLine ("UpdatedAssetGroups", args.UpdatedAssetGroups);
    Console.WriteLine ("DeletedAssetGroupsKey", args.DeletedAssetGroupsKey);
});

// To stop listening:
notification.Dispose ();

//
// Method style
//
NSObject notification;
void Callback (object sender, AssetsLibrary.ALAssetLibraryChangedEventArgs args)
{
    // Access strongly typed args
    Console.WriteLine ("Notification: {0}", args.Notification);

    Console.WriteLine ("UpdatedAssets", args.UpdatedAssets);
    Console.WriteLine ("InsertedAssetGroups", args.InsertedAssetGroups);
    Console.WriteLine ("UpdatedAssetGroups", args.UpdatedAssetGroups);
    Console.WriteLine ("DeletedAssetGroupsKey", args.DeletedAssetGroupsKey);
}

void Setup ()
{
    notification = ALAssetsLibrary.Notifications.ObserveChanged (Callback);
}

void Teardown ()
{
    notification.Dispose ();
}

В следующем примере показано, как использовать уведомление с API DefaultCenter:

// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (
        ALAssetsLibrary.ChangedNotification, (notification) => {Console.WriteLine ("Received the notification ALAssetsLibrary", notification); }


// Method style
void Callback (NSNotification notification)
{
    Console.WriteLine ("Received a notification ALAssetsLibrary", notification);
}

void Setup ()
{
    NSNotificationCenter.DefaultCenter.AddObserver (ALAssetsLibrary.ChangedNotification, Callback);
}

Применяется к