我如何使用一个 ViewController 的数据到另一个 ViewController 以扩展第一个 ViewController 的信息?
How can I use the data from one ViewController to another in order to expand the first ViewController's information?
我使用一个视图控制器编写了一个简单的高尔夫计分程序。一切都很好。我需要第二个 VC 来显示玩家之间的比赛结果(第一个 VC 没有足够的空间)。如何避免从第一个 VC 中获取 Null 值?
我尝试使用与第一个视图控制器相同的 class,但收到委托错误。
我需要第二个 VC 来继承第一个 VC.
数组的值
我假设这是一个 Xamarin.iOS 项目。您如何到达第二个 VC(UINavigationController..?)。一种简单的方法(也假设 UINavigationController)是在 SecondVC
中创建以下内容
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);
}
另一种方法是更新第二个VC的构造函数以包含直接传入值数组的能力。
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 还具有名为:PrepareForSegue
的本机功能
如果需要,您也可以使用它:Prepare for Segue in Swift
我使用一个视图控制器编写了一个简单的高尔夫计分程序。一切都很好。我需要第二个 VC 来显示玩家之间的比赛结果(第一个 VC 没有足够的空间)。如何避免从第一个 VC 中获取 Null 值?
我尝试使用与第一个视图控制器相同的 class,但收到委托错误。 我需要第二个 VC 来继承第一个 VC.
数组的值我假设这是一个 Xamarin.iOS 项目。您如何到达第二个 VC(UINavigationController..?)。一种简单的方法(也假设 UINavigationController)是在 SecondVC
中创建以下内容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);
}
另一种方法是更新第二个VC的构造函数以包含直接传入值数组的能力。
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 还具有名为:PrepareForSegue
的本机功能如果需要,您也可以使用它:Prepare for Segue in Swift