繁体   English   中英

如何将数据从UITableViewController传递到另一个UITableViewController? -iOS和Swift 2

[英]How to pass Data from a UITableViewController to another UITableViewController? -iOS & Swift 2

假设设置是

Navigation Controller -> GradLevelUITableViewController > DegreeUITableViewController > View Controller

哪里:

  • 数据结构是像这一个
  • GradLevelUITableViewController包含3个单元格,即UndergradGradPostGrad
  • DegreeUITableViewController Colleges显示为部分,将Degrees显示为行。
  • View Controller包含可滚动的TextView以获取更多信息。

我的问题是,如何从GradLevelUITableViewController将数据(特别是包含有关所选degree信息的列表,稍后再传递至TextView选择的内容 )到DegreeUITableViewController并告诉DegreeUITableViewController我单击了三个单元格之一,显示其对应的CollegesDegrees (例如,如果Undergrad被窃听,只显示CollegesDegreesUndergrad )。

我是iOS和Swift编程的新手,我找不到关于使用Swift在View Controller之间传递数据的不错的教程。 可能我不知道此特定“连接”的确切术语。

我试过这些链接:

以及其他大部分以Objective-C编写的教程。 第一个和第二个链接似乎是答案,但是我不确定如何使用它以及如何传递所需的信息。

这种事情应该可以解决

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        if let grad = self.grads[indexPath.row] {
                self.performSegueWithIdentifier("pushDegree", sender: grad)
        }
    }

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "pushDegree" {
            guard
                let degreeVC = segue.destinationViewController as? DegreeViewController,

            else {
                return
            }
            degreeVC.grad = sender as! Grad
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM