Edit

Share via


NSFileHandle.DataAvailableNotification Property

Definition

Notification constant for DataAvailable

[Foundation.Advice("Use NSFileHandle.Notifications.ObserveDataAvailable helper method instead.")]
[Foundation.Field("NSFileHandleDataAvailableNotification", "Foundation")]
public static Foundation.NSString DataAvailableNotification { get; }
member this.DataAvailableNotification : Foundation.NSString

Property Value

NSString constant, should be used as a token to NSNotificationCenter.

Attributes

Remarks

This constant can be used with the NSNotificationCenter to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.

If you want to subscribe to this notification, you can use the convenience NSFileHandle.Notifications.ObserveDataAvailable method which offers strongly typed access to the parameters of the notification.

The following example shows how to use the strongly typed Notifications class, to take the guesswork out of the available properties in the notification:

//
// Lambda style
//

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

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

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

void Setup ()
{
    notification = NSFileHandle.Notifications.ObserveDataAvailable (Callback);
}

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

The following example shows how to use the notification with the DefaultCenter API:

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


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

void Setup ()
{
    NSNotificationCenter.DefaultCenter.AddObserver (NSFileHandle.DataAvailableNotification, Callback);
}

Applies to