Swift 将值从 main 传递给另一个 viewcontroller 使用故事板 segue

Swift pass the value from main to another viewcontroller with storyboard segue

我正在尝试实现当用户单击 tableView 单元格时,选择的 cell 值需要 pass 详细信息 viewcontroller。在这里,我通过 storyboard(不是以编程方式)建立的 transition 连接和我使用的当前模态转换。

我想知道怎么做,请提供一些例子。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

   // here I need implement get selected index path and passing values to another vc

} 

使用preparefor(segue:)如下,

我假设很少

  1. 您当前的视图控制器正在显示玩家列表。
  2. 您正在显示玩家列表。
  3. 点击您想要显示玩家详细信息的玩家。
  4. 您的播放器详细信息视图控制器名称是 PlayerDetailsVC
  5. 你有一个 Players 模型数组,你在表格视图中显示了这些模型。
  6. 从情节提要中,您的表格视图选择模式是 single selection

基于这些假设,您的代码将如下所示

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let indexPath = tableView.indexPathForSelectedRow{
        let selectedRow = indexPath.row
        let PlayerDetailsVC= segue.destination as! DetailViewController
        let member = "\(players[selectedRow].name ?? "")"
        PlayerDetailsVC.player = member
    }
}

DetailViewcontroller需要做以下

var player:String? //print it within viewdidload