我正在使用Visual Studio for Mac在C#中开发一个Xamarin.Mac Cocoa应用程序。
我想将一个对象从我的第一个视图控制器传递给下一个视图控制器。我有一个名为LaunchSecondView
的segue,它启动了第二个视图。而且我需要第二个视图中的第一个视图中的对象class Person
。
首先,您需要在第二个视图控制器中设置公共属性:
public Person MainPerson { get; set; }
您需要覆盖名为PrepareForSegue
的方法。在其中,您可以识别目标控制器(您的第二个视图),如果您有多个segue,最好使用switch case语句。
public override void PrepareForSegue(NSStoryboardSegue segue, NSObject sender)
{
base.PrepareForSegue(segue, sender);
switch (segue.Identifier)
{
case "LaunchSecondView":
{
SecondViewClass target = segue.DestinationController as SecondViewClass;
target.Person = CurrentPerson;
}
break;
}
}