Xamarin NSNotificatioCenter: How can I get the NSObject being passed?

c#, ipad, nsnotificationcenter, xamarin.ios

Solution

I found the answer, here are the changes that need to be made on the code I posted in the question:

public void ChangeLeftSide (NSNotification notification)
{
    Console.WriteLine ("Change left side is being called");
    NSObject myObject = notification.Object;
    // here you can do whatever operation you need to do on the object
}

And the observer is created:

NSNotificationCenter.DefaultCenter.AddObserver ("ChangeLeftSide", ChangeLeftSide);

Now you can cast or type check the NSObject and do anything with it! Done!

Problem

I am trying to post a notification in a view from my app to another one using NSNotificationCenter. So in my destination class I create my observer as follows: ``` NSNotificationCenter.DefaultCenter.AddObserver ("ChangeLeftSide", delegate {ChangeLeftSide(null);}); ``` and I have my method: ``` public void ChangeLeftSide (UIViewController vc) { Console.WriteLine ("Change left side is being called"); } ``` Now from another UIViewController I am posting a notification as follows: ``` NSNotificationCenter.DefaultCenter.PostNotificationName("ChangeLeftSide", this); ``` How can I access the view controller that is being passed in my post notification in my destination class? In iOS it is very straight forward but I cannot seem to find my way in monotouch (Xamarin)...

Original source