在Swift中的视图控制器之间传递数据我正在尝试将应用程序从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,我将不胜感激!谢谢
3 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
让我们假设我们站在firstView转到DetailView并希望将数据从firstView传递到Detailview。要使用storyboard,在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我只是为字符串类型演示)。
慕娘9325324
TA贡献1783条经验 获得超4个赞
class AnsViewController: UIViewController { var theNum: Int override func viewDidLoad() { super.viewDidLoad() println(theNum) }}override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) { let viewController = self.storyboard.instantiateViewControllerWithIdentifier("ansView") as AnsViewController viewController.num = theNum self.presentViewController(viewController, animated: true, completion: nil)}
- 3 回答
- 0 关注
- 480 浏览
添加回答
举报
0/150
提交
取消