C# 如何在Xamarin.mac Cocoa应用程序中通过segue在视图之间传递数据?

C# 如何在Xamarin.mac Cocoa应用程序中通过segue在视图之间传递数据?,c#,visual-studio-mac,xamarin.mac,C#,Visual Studio Mac,Xamarin.mac,我正在用visual studio for Mac在C#中开发一个Xamarin.Mac应用程序 我想将对象从第一个视图控制器传递到下一个视图控制器。我有一个名为LaunchSecondView的序列,它启动第二个视图。我需要第二个视图中第一个视图中的对象类Person。首先,您需要在第二个视图控制器中设置公共属性: public Person MainPerson { get; set; } 您需要重写名为prepareforsgue的方法。在它里面,您可以识别目标控制器(您的第二个视图),

我正在用visual studio for Mac在C#中开发一个Xamarin.Mac应用程序


我想将对象从第一个视图控制器传递到下一个视图控制器。我有一个名为
LaunchSecondView
的序列,它启动第二个视图。我需要第二个视图中第一个视图中的对象
类Person

首先,您需要在第二个视图控制器中设置公共属性:

public Person MainPerson { get; set; }
您需要重写名为
prepareforsgue
的方法。在它里面,您可以识别目标控制器(您的第二个视图),如果您有多个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;
    }
}