我正在尝试将应用程序从Objective-C转换为Swift,但是我找不到如何使用Swift在视图之间传递数据。我的Objective-C代码是
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; AnsViewController *ansViewController; ansViewController = [storyBoard instantiateViewControllerWithIdentifier:@"ansView"]; ansViewController.num = theNum; [self presentViewController:ansViewController animated:YES completion:nil];
这样做是从根本上获取变量TheNum,并将其传递给另一个视图控制器上的变量num。我知道这可能是一个简单的问题,但是我对Swift感到非常困惑,因此,如果有人可以解释他们如何将其更改为Swift,将不胜感激!
谢谢
假设我们站在 firstView 转到 DetailView, 并希望将数据从firstView传递到Detailview。要使用情节提要进行此操作,在firstView处,我们将有一个方法:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { if (segue.identifier == "segueTest") { //Checking identifier is crucial as there might be multiple // segues attached to same view var detailVC = segue!.destinationViewController as DetailViewController; detailVC.toPass = textField.text } }
然后在 DetailView 类中声明一个变量:
var toPass: String!
那么您可以使用变量toPass(当然,您可以根据需要更改变量的类型,在此EX中,我只是演示字符串类型)。
toPass