C# 如何使用从一个ViewController到另一个ViewController的数据来展开第一个ViewController';什么信息?

C# 如何使用从一个ViewController到另一个ViewController的数据来展开第一个ViewController';什么信息?,c#,storyboard,viewcontroller,C#,Storyboard,Viewcontroller,我用一个视图控制器编写了一个简单的高尔夫计分程序。一切都很好。我需要第二个VC来显示玩家之间的比赛结果(第一个VC上没有足够的空间)。如何避免从第一个VC获取空值 我尝试使用同一类的first View Controller,但收到委托错误。 我需要第二个VC来继承第一个VC数组的值。我假设这是一个Xamarin.iOS项目。你是如何到达第二个VC(UINavigationController…?)的。一种简单的方法(也假设使用UINavigationController)是在第二个VC中创建以

我用一个视图控制器编写了一个简单的高尔夫计分程序。一切都很好。我需要第二个VC来显示玩家之间的比赛结果(第一个VC上没有足够的空间)。如何避免从第一个VC获取空值

我尝试使用同一类的first View Controller,但收到委托错误。
我需要第二个VC来继承第一个VC数组的值。

我假设这是一个Xamarin.iOS项目。你是如何到达第二个VC(UINavigationController…?)的。一种简单的方法(也假设使用UINavigationController)是在第二个VC中创建以下内容

public int[] values;
然后在第一个VC中,您可以创建第二个VC,更新值数组,并在值数组更新后执行任何其他必要的逻辑

public OnNavigateToSecondVC() {
    var secondVC = new SecondVC();
    secondVC.values = values; // Reference to values array from first VC

    NavigationController?.PushViewController(secondVC, true);
}
另一种方法是更新secondVC的构造函数,使其能够直接在数组中传递值

public partial class SecondVC : UIViewController
{
    int[] values;

    public SecondVC(int[] values) : base("SecondVC", null)
    {
        this.values = values;
    }

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        // Perform any additional setup after loading the view, typically from a nib.
    }

    public override void DidReceiveMemoryWarning()
    {
        base.DidReceiveMemoryWarning();
        // Release any cached data, images, etc that aren't in use.
    }
}
Swift还具有名为prepareforsgue的本机功能


如果您愿意,您也可以使用它:

我已通过正确使用segue解决了此问题……感谢Swift中的segue准备为我工作。谢谢你的帮助!部分回答:“我假设这是一个Xamarin.iOS项目。”;是的,但我已经用Xcode swift完全重写了整个项目。从现在起,我为ios编写的所有内容都将使用Xcode。再次感谢你的帮助!