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

时间:2019-03-24 02:13:27

标签: c# visual-studio-mac xamarin.mac

我正在使用 Visual Studio for Mac 在C#中开发 Xamarin.Mac 可可应用。

我想将对象从我的第一个视图控制器传递到下一个视图控制器。我有一个名为iv的segue启动了第二个视图。我需要第二个视图中的第一个视图LaunchSecondView

1 个答案:

答案 0 :(得分:1)

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

public Person MainPerson { get; set; }

您需要覆盖称为PrepareForSegue的方法。在其中,您可以标识目标控制器(您的第二个视图),并且如果您有多个脚本,最好使用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;
    }
}