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

问题描述 投票:1回答:1

我正在使用Visual Studio for Mac在C#中开发一个Xamarin.Mac Cocoa应用程序。

我想将一个对象从我的第一个视图控制器传递给下一个视图控制器。我有一个名为LaunchSecondView的segue,它启动了第二个视图。而且我需要第二个视图中的第一个视图中的对象class Person

c# visual-studio-mac xamarin.mac
1个回答
1
投票

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

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;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.