我正在尝试使用 NSNotificationCenter 将视图中的通知从我的应用程序发布到另一个视图。因此,在我的目标类中,我创建了观察者,如下所示:
NSNotificationCenter.DefaultCenter.AddObserver ("ChangeLeftSide", delegate {ChangeLeftSide(null);});
我有我的方法:
public void ChangeLeftSide (UIViewController vc)
{
Console.WriteLine ("Change left side is being called");
}
现在,我从另一个 UIViewController 发布一条通知,如下所示:
NSNotificationCenter.DefaultCenter.PostNotificationName("ChangeLeftSide", this);
如何访问在目标类的发布通知中传递的视图控制器?在iOS中,它非常简单,但我似乎无法在monotouch(Xamarin)中找到我的方式......
当你AddObserver
,你想以稍微不同的方式来做。请尝试以下操作:
NSNotificationCenter.DefaultCenter.AddObserver ("ChangeLeftSide", ChangeLeftSide);
以及您的声明ChangeLeftSide
方法以符合Action<NSNotification>
预计由AddObserver
- 给你实际的NSNotification
目的。 :
public void ChangeLeftSide(NSNotification notification)
{
Console.WriteLine("Change left side is being called by " + notification.Object.ToString());
}
所以当你PostNotificationName
,您将 UIViewController 对象附加到通知,可以在您的NSNotification
通过Object
财产。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)