首页 > 解决方案 > 通过两个 ViewController 传输数据

问题描述

我有一个应用程序,其中我有三个分层tableViews的 . 第一个是tableView用户的所有俱乐部。当他选择一个俱乐部时,他会进入ViewController ,其中显示了所选俱乐部的所有成员。

在代码中它看起来像这样:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let destinationVC: UIViewController
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "memberViewController") as! MemberViewController
            destinationVC = vc
            let selectedRow = self.tableViewClub.indexPathForSelectedRow?.row
            
            vc.club = clubs[selectedRow!]
        }
        self.navigationController?.pushViewController(destinationVC, animated: true)
    }

问题

然后我可以在MemberViewController. 现在我想再次传输数据,但这一次传输到另一个ViewController连接MemberViewControllersegue.

问题

我如何将俱乐部的成员转移到ViewController- 通过 segue 连接到MemberViewController- 因为我没有可以在代码中编写的选定行。

标签: iosswiftuitableview

解决方案


在您的“MemberViewController”中,编写以下代码:-

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
 // Create a new variable to store the instance of ViewController 
   if let destinationVC = segue.destinationViewController as? ViewController
    destinationVC.members = members
    }
}

当您通过 segue 将一个 viewController 推送到另一个 viewController 时,会调用此方法。所以你可以将你的“成员”从“MemberViewController”传递给“ViewController”


推荐阅读